#include <bits/stdc++.h>
using namespace std;
int dy[] = {1, -1, 0, 0, -1, 1, 1, -1};
int dx[] = {0, 0, 1, -1, 1, -1, 1, -1};
void file() {}
void fast() {
  std::ios_base::sync_with_stdio(0);
  cin.tie(NULL);
}
const int N = 5e5 + 9;
long long fact[N];
int mod = 1e9 + 7;
long long fpow(long long x, long long p) {
  if (!p) return 1;
  x %= mod;
  long long sq = fpow(x, p / 2);
  sq *= sq;
  sq %= mod;
  if (p & 1) sq *= x;
  return sq % mod;
}
void preProc() {
  fact[0] = fact[1] = 1;
  for (int i = 2; i < N; i++) fact[i] = (fact[i - 1] * i) % mod;
}
long long nCrMod(long long n, long long r) {
  if (!fact[0]) preProc();
  if (n < r) return 0;
  return (fact[n] * fpow((fact[n - r] * fact[r]) % mod, mod - 2LL)) % mod;
}
long long starsAndBarsPositive(long long n, long long k) {
  return nCrMod(n - 1, k - 1);
}
long long starsAndBarsNonNegative(long long n, long long k) {
  return nCrMod(n + k - 1, k - 1);
}
int main() {
  file();
  fast();
  preProc();
  long long n;
  cin >> n;
  cout << (starsAndBarsNonNegative(n, n) * 2LL - n) % mod;
  return 0;
}
