#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000005 #define Inf64 4000000000000000001LL vector get(vector a,vector b){ vector res(a.size()+b.size()-1); mint i2 = mint(2).inv(); { auto c = convolution(a,b); rep(i,c.size()){ res[i] += c[i] * i2; } } { reverse(b.begin(),b.end()); auto c = convolution(a,b); rep(i,c.size()){ int ii = i; ii -= b.size()-1; ii = abs(ii); res[ii] += c[i] * i2; } } return res; } int main(){ int n; cin>>n; vector t = {0,2}; vector ans(1,1); rep(i,18){ if((n>>i)&1){ ans = get(ans,t); } t = get(t,t); } rep(i,n+1){ if(i!=0)cout<<' '; cout<