Існує одномірний клітинний автомат, що складається з клітинок. Клітинки пронумеровані від до N-1.
Кожна клітинка має стан, представлений як невід'ємне ціле число, менше ніж . Стани клітинок змінюються через дискретні кроки часу. Ми позначаємо стан -ї клітинки в момент часу як S(i, t). Стан у момент часу t+1 визначається рівнянням
де , та є невід'ємними цілими константами. Для i < 0 або N \le i, ми визначаємо S(i, t) = 0.
Маючи визначення автомата та початкові стани клітинок, ваше завдання - написати програму, яка обчислює стани клітинок у заданий момент часу .
Вхідні дані складаються з кількох наборів. Кожен набір даних має такий формат:
S(0, 0) S(1, 0) S(N-1, 0)
Перший рядок набору даних містить шість цілих чисел: , , , , та . - це кількість клітинок. - це модуль у рівнянні (1). , та - коефіцієнти у рівнянні (1). Нарешті, - це час, для якого потрібно обчислити стани.
Ви можете припустити, що 0 < N \le 50, 0 < M \le 1000, 0 \le A, B, C < M та 0 \le T \le 10^9.
Другий рядок складається з цілих чисел, кожне з яких є невід'ємним і менше ніж . Вони представляють стани клітинок у момент часу нуль.
Рядок, що містить шість нулів, вказує на кінець введення.
Для кожного набору даних виведіть рядок, що містить стани клітинок у момент часу . Формат виводу такий:
S(0, T) S(1, T) S(N-1, T)
Кожен стан має бути представлений як ціле число, а числа мають бути розділені пробілом.
Приклад 1