constint maxn=1005; int n,m,K; structdata{ double s[maxn]; data () {cl(s,0);} }f,t; data operator*(const data&a,const data&b){ data c; for (int i=0;i<n;i++) for (int j=0;j<n;j++) c.s[(i+j)%n]+=a.s[i]*b.s[j]; return c; } data Pow(data a,int b){ data w=a,res;res.s[0]=1; while (b){ if (b&1) res=res*w; w=w*w; b>>=1; } return res; } intmain(){ scanf("%d%d%d",&n,&m,&K); for (int i=0;i<n;i++) scanf("%lf",&f.s[i]); t.s[0]=(m-1.0)/m; t.s[1]=1.0/m; f=f*Pow(t,K); for (int i=0;i<n;i++) printf("%.3lf\n",f.s[i]); return0; }