input
20
output
12164510040883200
code
//Siberian Squirrel
#include<bits/stdc++.h>
#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
//#define ACM_LOCAL
using namespace std;
typedef long long ll;
const int N = 2e5 + 10;
const int MOD = 1e9 + 7;
int n, m;
ll quick_pow(ll ans, ll p, ll res = 1) {
for(; p; p >>= 1, ans = ans * ans % MOD)
if(p & 1) res = res * ans % MOD;
return res % MOD;
}
ll inv(ll ans) {
return quick_pow(ans, MOD - 2);
}
inline void solve(ll res = 1, ll ans = 1) {
for(ll i = n / 2 + 1; i <= n; ++ i) {
ans = ans * i;
}
for(ll i = 1; i <= n / 2; ++ i) {
ans /= i;
}
ans = ans / 2;
for(ll i = 1; i <= n / 2 - 1; ++ i) {
res *= i;
}
cout << ans * res * res << endl;;
}
int main() {
IO;
#ifdef ACM_LOCAL
freopen("input", "r", stdin);
freopen("output", "w", stdout);
#endif
int o = 1;
// cin >> o;
while(o --) {
cin >> n;
solve();
}
return 0;
}