#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 1, mod = 1e9 + 7;
unsigned int C[N], g[N];
int main()
{
int n, ans = 1;
scanf("%d", &n);
C[0] = g[0] = g[1] = 1;
//逆元
for (int i = 2; i < n / 2 + 1; ++i)
g[i] = (1ULL * g[mod % i] * (mod - mod / i)) % mod;
//(n-m+1)*(n-m+2)*...*(n-m+m)/1*2*...*m
//上面乘多一个,下面乘多一个,转化为乘逆元
for (int i = 1; i <= n / 2 + 1; ++i)
C[i] = (1ULL * ((1ULL * C[i - 1] * (n - i)) % mod) * g[i]) % mod;
return 0;
}