#include #include #include #include #include #include using namespace std; const long long MOD=998244353; long long f[1001][1001],ft[1001][1001],c[1001][1001]; long long fc[1001]; long long ans[1001]; bool added[1001][1001]; main() { long long q; cin>>q; ft[1][1]=1; ft[2][1]=1; for (int n=3;n<=q;n++) { for (int j=1;j<=n;j++) { ft[n][j]=(ft[n-3][j-1]+ft[n-2][j-1])%MOD; } } for (int n=1;n<=q;n++) for (int i=1;i<=n;i++) { f[n][i]=(ft[n][i]+ft[n-1][i])%MOD; //printf("ft[%d][%d]=%d\n",n,i,ft[n][i]); } fc[0]=1; for (long long x=1;x<=q;x++) fc[x]=(fc[x-1]*x)%MOD; for (int n=q;n<=q;n++) { ans[n]=0; for (int i=0;i<=n;i++) if (f[n][i]) { ans[n]+=(((f[n][i]*fc[i])%MOD) * fc[n-i])%MOD; ans[n]%=MOD; } } cout<