#include using namespace std; using ll=long long; constexpr int mod=998244353; long long modpow(long long a,int n){ long long ret=1,t=a; for(int i=0;i<30;i++){ if(n>>i&1)ret=ret*t%mod; t=t*t%mod; } return ret; } ll fac[300000]; ll inv[300000]; ll invf[300000]; ll modcomb(int n,int r){ if(r<0)return 0; if(n>N>>K; fac[0]=inv[0]=invf[0]=1; fac[1]=inv[1]=invf[1]=1; for(int i=2;i<300000;i++){ fac[i]=fac[i-1]*i%mod; inv[i]=inv[mod%i]*(mod-mod/i)%mod; invf[i]=invf[i-1]*inv[i]%mod; } ll ans=0; if(N%2){ //0 ans+=modcomb(N*2+4,K); //左右 if(K%2){ ans+=modcomb(N+1,(K-1)/2)*2; }else{ ans+=modcomb(N+1,K/2)+modcomb(N+1,K/2-1); } //上下 if(K%2==0)ans+=modcomb(N+2,K/2); //上下左右 if(K%4==2){ ans+=modcomb((N+1)/2,(K-2)/4); }else if(K%4==0){ ans+=modcomb((N+1)/2,K/4); } }else{ //0 ans+=modcomb(N*2+4,K); //左右 if(K%2==0){ ans+=modcomb(N+2,K/2); } //上下 if(K%2==0)ans+=modcomb(N+2,K/2); //上下左右 if(K%4==0){ ans+=modcomb(N/2+1,K/4); } } ans%=mod; if(ans<0)ans+=mod; cout<