#include <cstdio>
#include <cstring>
#include <algorithm>
#define max_k 2000
#define max_n 2000
#define max_s max_n+max_k
#define mod 998244353
using namespace std;
long long ans[max_n+1],frac[max_s+1],ifrc[max_s+1];
long long quickpow(long long x,long long k){
	long long ret=1;
	for(; k; k>>=1,x=x*x%mod)
		(k&1)&&(ret=ret*x%mod);
	return ret;
}
#define comb(m,n) frac[m]*ifrc[n]%mod*ifrc[m-(n)]%mod
int main(){
	int k,n,maxs;
	scanf("%d%d",&k,&n);
	frac[0]=ifrc[0]=1,maxs=k+n,memset(ans,0,sizeof(ans));
	for(int i=0; ++i<=maxs; frac[i]=frac[i-1]*i%mod);
	ifrc[maxs]=quickpow(frac[maxs],mod-2);
	for(int i=maxs; --i; ifrc[i]=ifrc[i+1]*(i+1)%mod);
	for(int i=1,t,half=n>>1; ++i<=k+1; printf("%lld\n",ans[i]%=mod))
		for(int j=-1,d=mod-1,l=min(t=i>>1,half); ++j<=l; ans[i]+=comb(t,j)*(d=mod-d)%mod*(comb(maxs-2*j-1,k-1))%mod);
	for(int i=k+1; --i>1; printf("%lld\n",ans[i]));
	return 0;
}