#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvvl vector #define vvl vector> #define VV(a, b, c, d) vector>(a, vector(b, c)) #define VVV(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define re(c, b) for(ll c=0;c> n; vll O(n+1, 0); vll E(n+1, 0); vll M(n+1, 0); O[1] = M[1] = 1; for(ll i=2;i<=n;i++){ if(i%2==0){ M[i] = (O[i-1]*i)%P; E[i] = (E[i-2] + M[i])%P; }else{ M[i] = (E[i-1]*i)%P; O[i] = (O[i-2] + M[i])%P; } } std::cout << M[n] << '\n'; }