R=range J=lambda:list(map(int,input().split())) N,M,P=J() N+=1 M-=1 A=[0]+[x%P for x in J()] def C(f,g): h,a=[sum(f[i-j]*g[j]for j in R(1,i))%P for i in R(N)],[] for i in R(N):a+=[(f[i]+g[i]+sum(h[i-j]*a[j]for j in R(1,i)))%P] return a a=A while M: if M&1:a=C(a,A) A=C(A,A);M>>=1 print(*a[1:])