#include <bits/stdc++.h>
using namespace std;


int N,M,A,B,C,TT;

typedef vector<int> Arr;
typedef vector<Arr> Mat;


Mat mul(const Mat &a,const Mat &b){
	int n = a.size();
	Mat c(n,Arr(n,0));
	for(int i = 0 ; i < n ; i++)
		for(int j = 0 ; j < n ; j++)	
			for(int k = 0 ; k < n ; k++)
				c[i][j] = (c[i][j]+(a[i][k] * b[k][j])) % M;
	return c;
}
Mat E(int n){
	Mat c(n,Arr(n,0));
	for(int i = 0 ; i < n ; i++) c[i][i] = 1;
	return c;
}
Mat pow(Mat a,int k){
	Mat res = E(a.size());
	if( k == 0 ) return res;
	if(k&1) res = mul(res,a);
	res = mul(res,pow(mul(a,a),k/2));
	return res;
}

int main(){
	while(cin >> N >> M >> A >> B >> C >> TT && N){
		int S[50] = {};
		for(int i = 0 ; i < N ; i++) cin >> S[i];
		Mat mat(N,Arr(N,0));
		for(int i = 1 ; i < N ; i++) mat[i][i-1] = A;
		for(int i = 0 ; i < N ; i++) mat[i][i] = B;
		for(int i = 0 ; i+1 < N ; i++) mat[i][i+1] = C;

		Mat cal = pow(mat,TT);
		
		for(int i = 0 ; i < N ; i++){
			int ans = 0;
			for(int j = 0 ; j < N ; j++){
				ans += cal[i][j] * S[j];
			}
			ans %= M;
			cout << ans << (i+1==N?"\n":" ");
		}
	}
}