#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define MOD 998244353
#define Min(_A,_B) (_A<_B?_A:_B)
long long C[4005][4005],pw[4005];
long long n,k;
void mC(){
    memset(C,0,sizeof(0));
    pw[0]=1;
    for(int i=1;i<=4000;++i){
        pw[i]=(pw[i-1]<<1)%MOD;
    }
    C[0][0]=1;
    for(int i=1;i<=4000;++i){
        C[i][0]=1;
    }
    for(int i=1;i<=4000;++i){
        for(int j=1;j<=4000;++j){
            C[i][j]=(C[i-1][j]+C[i][j-1])%MOD;
        }
    }
}
long long cnt(long long i,long long tot){
    long long k2=Min(k-(i>>1),(i-1)>>1);
    long long k1=k-(k2<<1)-((i&1)^1);
    long long nw=1;
    long long rt=0;
    for(int l=k2;(l+k1)&&(~l);--l,nw=-nw){
        rt+=nw*(C[l+k1+tot-1][l+k1-1]*pw[l]%MOD)*C[k2][l]%MOD;
        rt%=MOD;
    }
    return (rt+MOD)%MOD;
}
void init(){
    scanf("%lld%lld",&n,&k);
    long long ans=0;
    for(int i=2;i<=2*k;++i){
        if(i&1){
            printf("%lld\n",cnt(i,n));
        }else{
            printf("%lld\n",(cnt(i,n)+cnt(i,n-1))%MOD);
        }
    }
}
int main(){
    mC();
    init();
    return 0;
}