#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if __has_include() #include using namespace atcoder; #endif using namespace std; using ll=long long; #define read(x) cin>>(x); #define readll(x) ll (x);cin>>(x); #define readS(x) string (x);cin>>(x); #define readvll(x,N) vector (x)((N));for(int i=0;i<(N);i++){cin>>(x)[i];} int main(){ int n; cin>>n; vector C(2*n); ll a=1; ll digit=0; while(a-digit<=2*n-1){ C[a-digit]++; if(a%10==0){ digit++; } a++; } const ll mod=998244353; vector dp(2*n); dp[0]=1; for(ll i=0;i dp2(2*n); for(ll j=0;j<2*n;j++){ for(ll k=1;k<2*n;k++){ if(j+k<2*n){ dp2[j+k]+=dp[j]*C[k]; dp2[j+k]%=mod; } } } dp.swap(dp2); } cout<