#P0115. [2023 AHOI小学组] 阶(order)

[2023 AHOI小学组] 阶(order)

题目背景

小多最近学习了一点数论。
最近她学习了阶这个概念,对算阶很有兴趣。
但是手算阶太难了,请你帮帮她。

题目描述

给定一个质数 pp,定义一个数 x(1x<p)x(1 \le x < p)pp 的阶为:最小的正整数 tt 使得 xtx^tpp 等于 11(即 xtx^t 除以 pp 的余数为 11),可以证明:这样的正整数一定存在。
现在请你帮助小多算若干组阶。

输入格式

输入文件名为 order.in
第一行一个正整数 TT,代表接下来共有 TT 个问题。
接下来 TT 行,每行两个正整数 ppxx,请回答 xxpp 的阶。

输出格式

输出文件名为 order.out
输出共 TT 行,对于每个问题,请输出一行一个正整数代表该问题的答案。

样例

输入数据#1

7
2 1
3 1
3 2
5 1
5 2
5 3
5 4

输出数据#1

1
1
2
1
4
4
2

解释#1

以第一个和第五个为例。
第一个问题中 11=11^1 = 1,而 11 是最小的正整数,所以显然为答案。
第五个问题中 21=22^1 = 222=42^2 = 423=82^3 = 855 不为 1124=162^4 = 165511,因此 44 为答案。

样例#2

详见选手文件夹下的 order/order2.in/ans 文件。

提示

如果你不知道一些数论知识,下面这个信息可能对你有用:可以证明 x(1x<p)x(1 \le x < p) 模质数 pp 意义下的阶一定小于 pp

数据范围

对于 40%40\% 的数据,满足 p100p \le 100
对于 70%70\% 的数据,满足 p104p \le 10^4
对于 100%100\% 的数据,满足 1T101 \le T \le 101x<p1051 \le x < p \le 10^5,保证 pp 是质数。