#include using namespace std; constexpr int mod = 1000000007; constexpr int arr[] = { 1,902862755,279729815,539933628,913291981,364019425,905463146,166817795,971872980,819586715,393323390,416251533,844803571,359802820,18889231,538540513,916428171,855965657,169088614,134969178,700579269,592375777,540637754,843655463,492003588,584832473,610964174,946310807,842657988,384650768,637356618,797396365,675364405,286686381,949036575,39515428,363749277,143477225,576295980,934480216,775954426,786713504,552519236,161043916,104955320,147210256,484984240,215237063,138666192,10925255,744488659 }; int n; int main() { cin >> n; int ret = arr[n / 20000]; int start = n / 20000 * 20000; if (start == 0) start = 1; for (int i = start; i <= n; ++i) { ret = 1LL * ret * (2 * i - 1) % mod * i % mod * i % mod; } cout << ret << endl; return 0; }