#include using namespace std; #define i64 long long const int mod=998244353; static int dp[2][70][1005], diffArr[70]; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int n,m; cin>>n>>m; int off=int(sqrt(m))+1, rows=2*off+2; for(int i=0;i0){ int t = j + diffArr[i-1]; if(t<=m){ dp[nxt][i-1][t] += v; if(dp[nxt][i-1][t]>=mod) dp[nxt][i-1][t]-=mod; } } int t = j + d0; if(t<=m){ mid[t] += v; if(mid[t]>=mod) mid[t]-=mod; mid[t] += v; if(mid[t]>=mod) mid[t]-=mod; } t = j + d2; if(t<=m){ down[t] += v; if(down[t]>=mod) down[t]-=mod; } } } cur^=1; nxt^=1; } cout<