100 #ACSPX20232. ACSPX20232 阶(order)

ACSPX20232 阶(order)

题目背景

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

题目描述

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

输入

输入文件名为 order.in。

第一行一个正整数 TT,代表接下来共有 TT 个问题。

接下来 TT 行,每行两个正整数 ppxx,请回答 xxpp 的阶。


输出

输出文件名为 order.out。

输出共 TT 行,对于每个问题,请输出一行一个正整数代表该问题的答案。


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

【样例 1 解释】 以第一个和第五个为例。

第一个问题中 11=11^1 = 1,而 11 是最小的正整数,所以显然为答案。

第五个问题中 21=2,22=4,23=82^1 = 2, 2^2 = 4, 2^3 = 855 不为 124=161,2^4 = 165511,因此 44 为答案。

【样例 2 输入】 详见选手文件夹下的 order/order2.in 文件。

【样例 2 输出】 详见选手文件夹下的 order/order2.ans 文件。

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

数据规模与约定

对于 40% 的数据,满足 p100p ≤ 100

对于 70% 的数据,满足 p104p ≤ 10^4

对于 100% 的数据,满足 1T10,1x<p1051 ≤ T ≤ 10, 1 ≤ x < p ≤ 10^5,保证 pp 是质数。