#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000007;
bool prime[1000000 + 1];
void init() {
  memset(prime, 1, sizeof(prime));
  prime[0] = prime[1] = 0;
  for (int i = 2; i <= 1000000; i++)
    if (prime[i])
      for (int j = i * 2; j <= 1000000; j += i) prime[j] = false;
}
vector<long long> pn(long long n) {
  vector<long long> ret(n + 1, 0);
  for (int i = 2; i <= n; i++) {
    if (!prime[i]) continue;
    long long p = i;
    while (p <= n) {
      ret[i] += n / p;
      p *= i;
    }
  }
  return ret;
}
long long expt(long long x, long long n) {
  long long val = 1;
  for (; n > 0; n >>= 1) {
    if (n % 2) val = (val * x) % mod;
    x = (x * x) % mod;
  }
  return val;
}
int main() {
  init();
  long long n;
  while (cin >> n) {
    vector<long long> v1 = pn(2 * n - 1), v2 = pn(n), v3 = pn(n - 1);
    for (int i = 0; i < (int)(n); i++) v1[i] -= v3[i];
    for (int i = 0; i < (int)(n + 1); i++) v1[i] -= v2[i];
    long long ans = 2;
    for (int i = 0; i < (int)(2 * n); i++)
      if (v1[i]) ans = (ans * expt(i, v1[i])) % mod;
    ans -= n;
    if (ans < 0) ans += mod;
    cout << ans << endl;
  }
  return 0;
}
