#4638. 博士的计算机器

内存限制:256 MiB 时间限制:20 Sec

题目描述

一日,BY大神黄犇黄大组长打完羽毛球回来,发现博士正在用魔兽地图编辑器做一个
计算器的软件。
因为最近总是一些取模取模的,所以想非常快速的算出来。简而言之,就是对以下3
个问题进行讨论。
1.给定Y、Z、P,计算的值Y^Z mod P;
2.给定Y、Z、P,计算满足的Y^X ≡ Z (Mod P)最小非负整数。
3.给定Y、Z、P,计算C(z,y) Mod P 的值。(意义为Z中取Y的组合)

输入格式

第一行一个正整数N,描述数据组数。
接下来的N行,每行4个正整数Sum,y,z,p。
Sum表述询问类型,如上所述。对于第2种要求,若X不存在,则输出“MathError”
若P不为质数,那么 P=P1^k1 *P2^k2 * …… PL^KL,保证Pi^ki <=10^5
操作数1的操作个数小于501,保证Y,Z,P小于10^9
操作数2的操作个数小于31,保证Y,Z,P小于10^9,而且P为质数
操作数3的操作个数小于31,保证Y,Z,P小于10^7,而且P为质数,P<10^5

输出格式

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

样例

样例输入


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

样例输出


			
24
0
Math Error
3

数据范围与提示