#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
const ll MOD = 998244353;
const int MAXN = 5010;

ll Pow(ll a, ll b)
{
	ll ans = 1;
	for(; b; b >>= 1)
	{
		if(b & 1) ans = ans * a % MOD;
		a = a * a % MOD;
	}
	return ans;
}

int n, k; ll pow2[MAXN];
ll fac[MAXN], inv[MAXN];

inline ll C(int n, int m)
{
	if(n < 0 || m > n || m < 0) return 0;
	return fac[n] * inv[m] % MOD * inv[n - m] % MOD;
}

ll calc(int a, int b, int c)
{
	ll res = 0;
	for(int i = 0; i <= min(a, c); ++i)
	{
		ll sum = C(a, i) * pow2[i] % MOD * C(c + b - 1, i + b - 1) % MOD;
		res = (res + sum) % MOD;
	}
	return res;
}

int main()
{
	fac[0] = 1;
	for(int i = 1; i < MAXN; ++i) fac[i] = fac[i - 1] * i % MOD;
	inv[MAXN - 1] = Pow(fac[MAXN - 1], MOD - 2);
	for(int i = MAXN - 2; ~i; --i) inv[i] = inv[i + 1] * (i + 1) % MOD;
	pow2[0] = 1;
	for(int i = 1; i < MAXN; ++i) pow2[i] = pow2[i - 1] * 2ll % MOD;
	scanf("%d %d", &k, &n);
	for(int i = 2; i <= 2 * k; ++i)
	{
		int cnt = 0;
		for(int j = 1; j <= k; ++j) cnt += (i - j >= 1 && i - j <= k);
		ll ans = calc(cnt >> 1, k - cnt, n);
		if(!(i & 1)) ans = (ans + calc(cnt >> 1, k - cnt, n - 1)) % MOD;
		printf("%lld\n", ans);
	}
	return 0;
}