#2069. 博士的计算机器

博士的计算机器

Description

一日,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的组合)

Format

Input

第一行一个正整数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

Output

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

Samples

4
1 2 10 1000
2 3 1 1000
2 2 3 4
3 2 7 9
24
0
Math Error
3