#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 50, mod = 1e9 + 7;
int fact[N], inv[N];
long long Mul_mod(long long a, long long b) { return (1LL * a * b) % mod; }
long long Add_mod(long long a, long long b) { return (a + b) % mod; }
long long fastPower(long long b, long long pow) {
  if (pow == 0) return 1;
  long long pw = fastPower(b, pow / 2);
  pw = Mul_mod(pw, pw);
  if (pow % 2) pw = Mul_mod(b, pw);
  return pw;
}
void inverse() {
  fact[0] = inv[0] = 1;
  for (int i = 1; i < N; ++i) {
    fact[i] = Mul_mod(i, fact[i - 1]);
    inv[i] = fastPower(fact[i], mod - 2);
  }
}
long long nCr(long long n, long long r) {
  return Mul_mod(fact[n], Mul_mod(inv[n - r], inv[r]));
}
long long nPr(long long n, long long r) { return Mul_mod(fact[n], inv[n - r]); }
long long GCD(long long a, long long b) { return ((!b) ? a : GCD(b, a % b)); }
long long LCM(long long a, long long b) { return a / (GCD(a, b)) * b; }
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  inverse();
  long long ans =
      (Mul_mod(2, (nCr(((2 * n) % mod) - 1, n - 1)) % mod) - n) % mod;
  if (ans < 0) ans += mod;
  cout << ans;
  return 0;
}
