#include using namespace std; typedef long long ll; const int INF=0x3f3f3f3f; const ll LLINF=0x3f3f3f3f3f3f3f3fLL; const int MAX=2e5+10; const int mod=998244353; ll qpow(ll a,ll b) { ll res=1; while(b>0) { if(b&1) res=res*a%mod; a=a*a%mod; b>>=1; } return res; } ll inv(ll x){return qpow(x,mod-2);} ll a[MAX],res[MAX]; int main() { int n,k,i; scanf("%d%d",&n,&k); for(i=1;i<=n;i++) scanf("%lld",&a[i]); for(i=1;i<=n;i++) { if(i>=3 && (i&1)) res[i]=(a[i-2]*(k/2)+a[i])%mod; else res[i]=a[i]; } k%=2; if(k) { for(i=1;i<=n;i++) { if(i%2==0) res[i]=(res[i-1]-res[i]+mod)%mod; else res[i]=(res[i-1]+res[i])%mod; } } for(i=1;i<=n;i++) printf("%lld%c",res[i]," \n"[i==n]); return 0; } /* a1 a1-a2 a1-a2+a3 a1-a2+a3-a4 a1 a2 a1+a3 a2+a4 a1 a1-a2 2a1-a2+a3 2a1-2a2+a3-a4 a1 a2 2a1+a3 2a2+a4 */