题目描述
以下の Q 個のクエリに答えてください。
整数 Ai,Mi が与えられます。AiKi ≡ Ki(mod Mi) なる 2 × 1018 以下の正整数 Ki が存在するか判定し、存在するならひとつ求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
Q A1 M1 : AQ MQ
输出格式
i 行目には、i 個目のクエリに対し、問題文の条件を満たす Ki が存在しないなら、−1 を出力せよ。 そうでない場合、AiKi ≡ Ki(mod Mi) なる 2 × 1018 以下の正整数 Ki をひとつ出力せよ。考えられるものが複数ある場合、どれを出力してもよい。
题目大意
输入Q (1≤Q≤100)组A,M $(0\leq A_i\leq 10^9, 1\leq M_i\leq 10^9(1\leq i\leq Q))$,求任意一个K (1≤K≤2×1018),使得AK≡K (mod M)
输入格式:
Q
A1 M1
…
AQ MQ
输出格式:
第i行输出第i组的K值,若没有合法的K,则输出-1
4
2 4
3 8
9 6
10 7
4
11
9
2
3
177 168
2028 88772
123456789 987654321
7953
234831584
471523108231963269
提示
制約
- 1 ≤ Q ≤ 100
- 0 ≤ Ai ≤ 109(1 ≤ i ≤ Q)
- 1 ≤ Mi ≤ 109(1 ≤ i ≤ Q)
Sample Explanation 1
それぞれ、24 = 16 ≡ 4(mod 4)、311 = 177147 ≡ 11(mod 8)、99 = 387420489 ≡ 9(mod 6)、102 = 100 ≡ 2(mod 7) より、条件を満たします。