#P1260. [数学基础]计算器

[数学基础]计算器

Description

你被要求设计一个计算器完成以下三项任务:

给定y,z,p,计算y^z mod p 的值; 给定y,z,p,计算满足x*y ≡ z (mod p) 的最小非负整数x ; 给定y,z,p ,计算满足 y^x ≡ z (mod p) 的最小非负整数x 。

Input Format

输入包含多组数据。

第一行包含两个正整数T,K分别表示数据组数和询问类型(对于一个测试点内的所有数据,询问类型相同); 以下T行每行包含三个正整数y,z,p ,描述一个询问。

Output Format

对于每个询问,输出一行答案。

对于询问类型 2和3,如果不存在满足条件的,则输出 Orz, I cannot find x!,注意逗号与 I 之间有一个空格。

Sample

样例 1 输入

3 1
2 1 3
2 2 3
2 3 3

输出

2
1
2

样例 2 输入

3 2
2 1 3
2 2 3
2 3 3

输出

2
1
0

Hint

对于全部数据,1=<y,z,p<=1^9,1=<T<=10,且保证p为质数。