#include using namespace std; using ll = long long; #define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i)) #define all(x) (x).begin(),(x).end() #define pb push_back #define fi first #define se second #define dbg(x) cout<<#x" = "<<((x))< ostream& operator<<(ostream& o, const pair &p){o<<"("< ostream& operator<<(ostream& o, const vector &v){o<<"[";for(T t:v){o<>n; vector a(n+1); a[1] = 1; ll odd = 1, even = 0; for(ll i=2; i<=n; ++i) { if(i%2==0) { a[i] = (i*odd)%mod; (even += a[i])%=mod; } else { a[i] = (i*even)%mod; (odd += a[i])%=mod; } } cout << a[n] << endl; return 0; }