#include <bits/stdc++.h>
using namespace std;
long long dp[1000010];
long long ex_gcd(long long a, long long b, long long &x, long long &y) {
  if (a == 0 && b == 0) return -1;
  if (!b) {
    x = 1;
    y = 0;
    return a;
  }
  long long ans = ex_gcd(b, a % b, y, x);
  y -= x * (a / b);
  return ans;
}
long long inv(long long a, long long mod) {
  long long x, y;
  long long d = ex_gcd(a, mod, x, y);
  if (d == 1)
    return (x + mod) % mod;
  else
    return -1;
}
long long work(long long N) {
  long long ans = 1;
  for (long long i = 2 * N; i >= N + 1; i--) {
    ans = (ans * i % 1000000007) % 1000000007;
  }
  long long div = 1;
  for (long long i = 1; i <= N; i++) {
    div = (div * i) % 1000000007;
  }
  ans = (ans * inv(div, 1000000007)) % 1000000007;
  ans--;
  if (ans <= 0) ans += 1000000007;
  return ans;
}
int main() {
  long long n;
  cin >> n;
  cout << work(n + 1) << endl;
  return 0;
}
