#216. 「一本通 6.4 例 6」计算器

    ID: 216 Type: Default 1000ms 512MiB Tried: 6 Accepted: 2 Difficulty: 10 Uploaded By: Tags>SDOI2011扩展欧几里德算法快速幂Baby Step Giant Step

「一本通 6.4 例 6」计算器

题目描述

原题来自:SDOI 2011

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

  1. 给定 y,z,py,z,p,计算 yzmodpy^z\bmod p 的值;
  2. 给定 y,z,py,z,p,计算满足 x×yz (modp )x\times y\equiv z\ (\bmod p\ ) 的最小非负整数 xx
  3. 给定 y,z,py,z,p,计算满足 yxz (modp )y^x\equiv z\ (\bmod p\ ) 的最小非负整数 xx

输入格式

输入包含多组数据。

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

输出格式

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

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

样例 1

3 1
2 1 3
2 2 3
2 3 3
2
1
2
3 2
2 1 3
2 2 3
2 3 3
2
1
0

数据范围与提示

对于全部数据,1y,z,p109,1T101\le y,z,p\le 10^9,1\le T\le 10,且保证 pp 为质数。