#include <bits/stdc++.h>
using namespace std;
const int mod=998244353;
int k,n;
int read(){
    int x=0,y=1;
    char ch=getchar();
    while(ch<48||ch>57){if(ch==45)y=-1;ch=getchar();}
    while(ch>=48&&ch<=57)x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
    return x*y;
}
long long c[4005][4005],f[2005][2005];
void pre(){
	c[0][0]=1;
	for(int i=1;i<=4000;i++){
		c[i][0]=1;
		for(int j=1;j<=i;j++)
			c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
	}
	f[0][0]=1;
	for(int i=1;i<=2000;i++){
		f[i][0]=1;
		for(int j=1;j<=2000;j++){
			if(i&1)
				f[i][j]=(f[i-1][j]+f[i-1][j-1])%mod;
			else
				f[i][j]=(f[i-1][j]+f[i][j-1])%mod;
		}
	}
	return ;
}
long long ans[4005];
int main(){
//    freopen("AT4362.in","r",stdin);
//    freopen("AT4362.out","w",stdout);
	k=read();n=read();
	pre();
	for(int i=2;i<=k;i++)
		for(int j=0;j<=n;j++)
			ans[i]=(ans[i]+c[k-i+n-j][n-j]*f[i-1][j]%mod)%mod;
	ans[k+1]=f[k][n];
	for(int i=2;i<=k+1;i++)printf("%lld\n",ans[i]);
	for(int i=k+2;i<=2*k;i++)printf("%lld\n",ans[k+1-(i-k-1)]);
    return 0;
}
