505024 - 计算器2

【题目描述】计算器2(calc2)

计算器功能有三种: (1)求yz%p的值; (2)求yx%p=z的最小非负整数x; (3)求C_z^y%p的值。

输入

第一行一个正整数N,描述数据组数。 接下来的N行,每行4个正整数Sum,y,z,p。 Sum表述询问类型,如上题所述。对于第2种要求,若X不存在,则输出“Math Error”。

输出

要求有N行输出,每行一个整数,为询问的答案。

样例

输入

4
1 2 10 1000
2 3 1 1000
2 2 3 4
3 2 7 9

输出

24
0
Math Error
3

提示

【数据规模】 操作1个数小于501。保证Y,Z,P小于10^9; 操作2个数小于51 保证Y,Z,P小于10^9,P不一定为质数。 操作3个数小于51 保证Y,Z小于10^9,P小于10^9。 P不一定为质数,假设分解质因数后,P=p1s1p2s2…,保证piki≤10^5

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题