#include using namespace std; int main() { auto pow_mod = [](int64_t a, int64_t n, int64_t mod) { int64_t r = 1; for (; n; n >>= 1) { if (n & 1) { (r *= a) %= mod; } (a *= a) %= mod; } return r; }; int64_t n, mod = 1000000007; cin >> n; vector fact(2 * n + 1); fact[0] = 1; for (int64_t i = 0; i < 2 * n; i++) { fact[i + 1] = fact[i] * (i + 1) % mod; } vector fact_rev(2 * n + 1); fact_rev[2 * n] = pow_mod(fact[2 * n], mod - 2, mod); for (int64_t i = 2 * n; i; i--) { fact_rev[i - 1] = fact_rev[i] * i % mod; } int64_t ans = 1; for (int64_t i = 4; i <= 2 * n; i += 2) { (ans *= fact[i] * fact_rev[2] % mod * fact_rev[i - 2] % mod) %= mod; } cout << ans << endl; return 0; }