일차원 세포 자동자

시간 제한2초메모리 제한128 MB

문제

$N$개의 세포로 이루어진 일차원 세포 자동자(cellular automaton)가 있다. 세포에는 $0$번부터 $N-1$번까지 번호가 매겨져 있다.

각 세포는 상태를 가지며, 상태는 $M$보다 작은 음이 아닌 정수이다. 세포의 상태는 시간이 $1$씩 지날 때마다 진화한다. 시간 $t$에서 $i$번 세포의 상태를 $S(i, t)$로 나타낸다. 시간 $t+1$에서의 상태는 다음 식으로 구한다.

$$S(i, t+1) = (A \times S(i-1, t) + B \times S(i, t) + C \times S(i+1, t)) \bmod M$$

여기서 $A$, $B$, $C$는 음이 아닌 정수이다. $i < 0$ 또는 $i \ge N$인 경우에는 $S(i, t) = 0$으로 둔다.

일차원 세포 자동자의 초기 상태가 주어졌을 때, 시간이 $T$만큼 지난 뒤의 세포 상태를 구하는 프로그램을 작성하시오.

입력

각 테스트 케이스는 다음과 같은 형식이다.

N M A B C T
S(0,0) S(1,0) ... S(N-1,0)

제약은 $0 < N \le 50$, $0 < M \le 1000$, $0 \le A, B, C < M$, $0 \le T \le 10^9$이다.

입력의 마지막 줄에는 $0$이 여섯 개 주어진다.

출력

각 테스트 케이스에 대해, 시간 $T$에서의 세포 상태를 다음 형식으로 출력한다.

S(0,T) S(1,T) ... S(N-1,T)

각 세포의 상태는 정수이며, 값들은 공백으로 구분한다.