Bir ölçülü hüceyrə avtomatı N hüceyrədən ibarətdir. Hüceyrələr 0-dan N-1-ə qədər nömrələnmişdir.
Hər bir hüceyrənin vəziyyəti M-dən kiçik olan qeyri-mənfi tam ədəd kimi ifadə olunur. Hüceyrələrin vəziyyətləri diskret zaman addımları ilə inkişaf edir. i-ci hüceyrənin t zamanındakı vəziyyətini S(i, t) ilə göstəririk. t+1 zamanındakı vəziyyət aşağıdakı tənliklə müəyyən edilir:
S(i, t+1) = (A × S(i-1, t) + B × S(i, t) + C × S(i+1, t)) mod M, (1)
burada A, B və C qeyri-mənfi tam ədəd sabitlərdir. i < 0 və ya N ≤ i üçün S(i, t) = 0 olaraq qəbul edilir.
Avtomatın tərifini və hüceyrələrin ilkin vəziyyətlərini nəzərə alaraq, sizin vəzifəniz müəyyən edilmiş T zamanında hüceyrələrin vəziyyətlərini hesablayan bir proqram yazmaqdır.
Giriş bir sıra datasetlərdən ibarətdir. Hər bir dataset aşağıdakı kimi formatlanır.
N M A B C T
S(0, 0) S(1, 0) ... S(N-1, 0)
Bir datasetin ilk sətri altı tam ədəddən ibarətdir: N, M, A, B, C və T. N hüceyrələrin sayını göstərir. M tənlikdəki moduldur (1). A, B və C tənlikdəki əmsallardır (1). Nəhayət, T vəziyyətləri hesablamalı olduğunuz zamandır.
Siz qəbul edə bilərsiniz ki, 0 < N ≤ 50, 0 < M ≤ 1000, 0 ≤ A, B, C < M və 0 ≤ T ≤ 10^9.
İkinci sətr N tam ədəddən ibarətdir, hər biri qeyri-mənfi və M-dən kiçikdir. Onlar sıfır zamanında hüceyrələrin vəziyyətlərini təmsil edir.
Altı sıfırdan ibarət bir sətir girişin sonunu göstərir.
Hər bir dataset üçün, T zamanında hüceyrələrin vəziyyətlərini ehtiva edən bir sətir çıxarın. Çıxışın formatı aşağıdakı kimidir.
S(0, T) S(1, T) ... S(N-1, T)
Hər bir vəziyyət tam ədəd kimi təmsil olunmalıdır və tam ədədlər boşluqla ayrılmalıdır.
Nümunə 1