#include<cstdio>
#include<cstring>
#include<algorithm>
#define MN 4005
using namespace std;
int fac[MN],inv[MN],n,k,ans[MN];
const int mod=998244353;
int C(int x,int y){return (x<y)?0:1ll*fac[x]*inv[y]%mod*inv[x-y]%mod;}
void inc(int &x,int y){(x+=y)>=mod?x-=mod:0;}
void dec(int &x,int y){(x-=y)<0?x+=mod:0;}
int calc(int x,int y,int z){
    int ans=0;
    for(int i=0;i<=min(x/2,y/2);++i){
        int tmp=1ll*C(x/2,i)*C(y+z-i*2-1,y-1)%mod;
        if(i%2==0)inc(ans,tmp);else dec(ans,tmp);
    }return ans;
}
int main(){
	fac[0]=fac[1]=inv[0]=inv[1]=1;
	for(int i=2;i<=4000;i++)fac[i]=1ll*fac[i-1]*i%mod,inv[i]=1ll*(mod-mod/i)*inv[mod%i]%mod;
	for(int i=2;i<=4000;i++)inv[i]=1ll*inv[i-1]*inv[i]%mod;
	scanf("%d%d",&k,&n);
	for(int i=1;i<=k;i++){
		if(i&1)ans[i]=(calc(i,k-1,n)+calc(i,k-1,n-1))%mod;
        else ans[i]=calc(i,k,n);
	}
	for(int i=1;i<=k;i++)printf("%d\n",ans[i]);
	for(int i=k-1;i>=1;i--)printf("%d\n",ans[i]);
}