#include<iostream>
#include<cstdio>

const long long P=998244353;
int k,n;
long long fac[6000],invfac[6000];
long long pow2[6000];

long long C(int N,int M){return fac[N]*invfac[M]%P*invfac[N-M]%P;}

long long Calc(int x,int y,int z){
	long long ret=0;
	for (int i=0;i<=x&&i<=z;i++)
		ret=(ret+C(x,i)*pow2[i]%P*C(z+y-1,i+y-1)%P)%P;
	return ret;
}

int N,K;

int main(){
	scanf("%d%d",&K,&N);
	fac[0]=fac[1]=invfac[0]=invfac[1]=pow2[0]=1;
	pow2[1]=2;
	for (int i=2;i<=5000;i++){
		fac[i]=fac[i-1]*i%P;
		invfac[i]=(P-P/i)*invfac[P%i]%P;
		pow2[i]=pow2[i-1]*2%P;
	}
	for (int i=2;i<=5000;i++) invfac[i]=invfac[i-1]*invfac[i]%P;
	for (int i=2;i<=K+K;i++){
		int law=std::min(i-1,K+K-i+1);
		if (i&1) printf("%lld\n",Calc(law/2,K-law,N));
		else printf("%lld\n",(Calc(law/2,K-law,N)+Calc(law/2,K-law,N-1))%P);
	}
}