#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:66777216")
using namespace std;
int RAND() { return (rand() << 16) + rand(); }
const long long MOD = 1000000007;
const int N = 2000007;
int n;
long long f[N];
long long power(long long a, long long b) {
  if (b == 0) return 1;
  if (b & 1) return a * power(a, b - 1) % MOD;
  long long r = power(a, b >> 1);
  return r * r % MOD;
}
long long inv(long long a) { return power(a, MOD - 2); }
long long C(int n, int k) { return f[n] * inv(f[k] * f[n - k] % MOD) % MOD; }
void solve() {
  f[0] = 1;
  for (int i = 1; i < N; ++i) f[i] = i * f[i - 1] % MOD;
  cin >> n;
  long long ans = ((n + 2) * C(2 * n + 2, n) - n - 1) % MOD * inv(n + 1) % MOD;
  if (ans < 0) ans += MOD;
  cout << ans << endl;
}
void testgen() {
  FILE* f = fopen("input.txt", "w");
  fclose(f);
}
int main() {
  cout << fixed;
  cout.precision(16);
  cerr << fixed;
  cerr.precision(3);
  solve();
  return 0;
}
