题库练习 Product transformation
← 上一题 下一题 →

A11266 | Product transformation

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Consider an array $A$ with $N$ elements, all being the same integer $a$ .

Define the product transformation as a simultaneous update $A_{i}=A_{i}·A_{i+1}$ , that is multiplying each element to the element right to it for ![](/uploads/acgo/image/c22ff68b70756e97_a7720bf5fbb8.jpeg), with the last number $A_{N}$ remaining the same. For example, if we start with an array $A$ with $a=2$ and $N=4$ , then after one product transformation $A=[4,\ 4,\ 4,\ 2]$ , and after two product transformations $A=[16,\ 16,\ 8,\ 2]$ .

Your simple task is to calculate the array $A$ after $M$ product transformations. Since the numbers can get quite big you should output them modulo $Q$ .

输入格式

The first and only line of input contains four integers $N$ , $M$ , $a$ , $Q$ ( $7<=Q<=10^{9}+123$ , $2<=a<=10^{6}+123$ , ![](/uploads/luogu/CF852F/7bf3dc8dfd4f63cf153f6d6469587d6914d2f757_50ca540a973e.png), ![](/uploads/acgo/image/7eaa15fffe4b3106_be28b48ed505.jpeg) is prime), where ![](/uploads/acgo/image/7eaa15fffe4b3106_be28b48ed505.jpeg) is the multiplicative order of the integer $a$ modulo $Q$ , see notes for definition.

输出格式

You should output the array $A$ from left to right.

输入输出样例

输入 #1
2 2 2 7
输出 #1
1 2 
C++ 编辑器
输入
输出