#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 2;
const int M = 4e5 + 2;
const long long mod = 1e9 + 7;
const int inf = 1e9;
const long long INF = 1e16;
void data() {}
long long fact[M], n, ans;
long long mul(long long a, long long b) {
  return ((a % mod) * (b % mod)) % mod;
}
long long add(long long a, long long b) {
  return ((a % mod) + (b % mod)) % mod;
}
long long binpow(long long a, long long n) {
  if (n == 1) return a % mod;
  if (n & 1) {
    return mul(binpow(a, n - 1) % mod, a);
  } else {
    long long cnt = binpow(a, n / 2) % mod;
    return mul(cnt, cnt);
  }
}
long long C(long long k, long long m) {
  return mul(fact[m],
             mul(binpow(fact[k], mod - 2), binpow(fact[m - k], mod - 2)));
}
int main() {
  data();
  fact[0] = 1LL;
  fact[1] = 1LL;
  for (long long i = 2; i <= 3LL * N; ++i) fact[i] = mul(fact[i - 1], i);
  scanf("%lld", &n);
  if (n == 1LL) {
    printf("1");
    return 0;
  }
  for (long long i = 1; i <= n; ++i) {
    ans = add(ans, mul(C(i - 1, n + i - 3LL), n - i + 1LL));
  }
  printf("%lld", add(mul(2LL, ans), -n));
}
