#include <bits/stdc++.h>
using namespace std;
const long double PI = acos(-1.0), EPS = 1E-30;
const int INF = 1000 * 1000 * 1000 + 1234;
const long long LL_INF = 1LL * INF * INF;
const int MAXN = 10 * 1000 * 1000 + 1000;
const int mod = 1000 * 1000 * 1000 + 7;
int n;
long long go(int x, int y) {
  if (y == 0) return 1;
  if (y & 1)
    return go(x, y - 1) * x % mod;
  else {
    long long res = go(x, y / 2);
    return 1LL * res * res % mod;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n;
  long long ans = 1;
  for (int i = 0; i < 2 * n + 1; ++i) {
    ans = (ans * 2) % mod;
  }
  ans = ((ans - 1) % mod + mod) % mod;
  long long C = 1;
  vector<long long> sum(3 * n);
  sum[n + 1] = 1;
  for (int i = n + 2; i <= 2 * n; ++i) {
    long long CC = C;
    C = (C * (i) % mod * go(i - (n + 1), mod - 2)) % mod;
    if (i == n + 2) {
      sum[i] = (sum[i] + sum[i - 1] + C) % mod;
    } else {
      sum[i] = (sum[i] + (2 * sum[i - 1] % mod + C - CC + mod) % mod) % mod;
    }
  }
  long long xyu = 0;
  for (int i = n + 1; i < (int)sum.size(); ++i) {
    xyu = (xyu + sum[i]) % mod;
  }
  cout << (ans + 2 * mod - 2 * xyu) % mod;
  return 0;
}
