#include<bits/stdc++.h>usingnamespace std;constint N =1e6+10, mod =998244353;int r[N];intquick_pow(int a,int n){int ans =1;while(n){if(n &1){ans =1ll* a * ans % mod;}a =1ll* a * a % mod;n >>=1;}return ans;}voidget_r(int lim){for(int i =0; i < lim; i++){r[i]=(i &1)*(lim >>1)+(r[i >>1]>>1);}}voidNTT(int*f,int lim,int rev){for(int i =0; i < lim; i++){if(i < r[i]){swap(f[i], f[r[i]]);}}for(int mid =1; mid < lim; mid <<=1){int wn =quick_pow(3,(mod -1)/(mid <<1));for(int len = mid <<1, cur =0; cur < lim; cur += len){int w =1;for(int k =0; k < mid; k++, w =1ll* w * wn % mod){int x = f[cur + k], y =1ll* w * f[cur + mid + k]% mod;f[cur + k]=(x + y)% mod, f[cur + mid + k]=(x - y + mod)% mod;}}}if(rev ==-1){int inv =quick_pow(lim, mod -2);reverse(f +1, f + lim);for(int i =0; i < lim; i++){f[i]=1ll* f[i]* inv % mod;}}}int a[N], c[N], A[N], B[N], fac[N], ifac[N], n, m, sum;voidinit(){fac[0]=1;for(int i =1; i < N; i++){fac[i]=1ll* fac[i -1]* i % mod;}ifac[N -1]=quick_pow(fac[N -1], mod -2);for(int i = N -2; i >=0; i--){ifac[i]=1ll* ifac[i +1]*(i +1)% mod;}}intmain(){// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);init();while(scanf("%d",&n)!=EOF){for(int i =0; i <= n; i++){scanf("%d",&c[i]);}scanf("%d",&m);sum =0;for(int i =1; i <= m; i++){scanf("%d",&a[i]);sum =(sum + a[i])% mod;}sum =(mod - sum)% mod;int cur =1;for(int i =0; i <= n; i++){A[i]=1ll* c[i]* fac[i]% mod;B[n - i]=1ll* ifac[i]* cur % mod;cur =1ll* cur * sum % mod;}int lim =1;while(lim <=2* n){lim <<=1;}get_r(lim);NTT(A, lim,1);NTT(B, lim,1);for(int i =0; i < lim; i++){A[i]=1ll* A[i]* B[i]% mod;}NTT(A, lim,-1);for(int i =0; i <= n; i++){printf("%lld ",1ll* ifac[i]* A[n + i]% mod);}puts("");for(int i =0; i < lim; i++){A[i]= B[i]=0;}}return0;}