#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int INF = 2e9;
const long long int LONGINF = 4e18;
long long int inv[100100], fct[100100], invfct[100100];
long long int c[2222];
long long int C(long long int n, long long int k) {
  return fct[n] * invfct[n - k] % mod * invfct[k] % mod;
}
void solve(int n) {
  int k;
  long long int ans;
  inv[1] = 1;
  fct[0] = 1;
  fct[1] = 1;
  invfct[0] = 1;
  invfct[1] = 1;
  for (int i = (2); i < (100100); i++) {
    inv[i] = -((long long int)mod / i * inv[mod % i] % mod) + mod;
    fct[i] = fct[i - 1] * i % mod;
    invfct[i] = invfct[i - 1] * inv[i] % mod;
  }
  ans = 0;
  for (int i = (1); i < (n + 1); i++) {
    ans += C(n - 1, i - 1) * C(n, i) % mod;
    ans %= mod;
  }
  ans *= 2;
  ans -= n;
  ans %= mod;
  printf("%I64d", ans);
}
int main() {
#pragma comment(linker, "/STACK:268435456")
  int n;
  long long int a;
  char c[200200];
  string s;
  while (scanf("%d", &n) == 1) solve(n);
  return 0;
}
