配点 : 1400 点
問題文
以下の Q 個のクエリに答えてください。
整数 Ai,Mi が与えられます。AiKi≡Ki(modMi) なる 2×1018 以下の正整数 Ki が存在するか判定し、存在するならひとつ求めてください。
制約
- 1≤Q≤100
- 0≤Ai≤109(1≤i≤Q)
- 1≤Mi≤109(1≤i≤Q)
入力
入力は以下の形式で標準入力から与えられる。
Q
A1 M1
:
AQ MQ
出力
i 行目には、i 個目のクエリに対し、問題文の条件を満たす Ki が存在しないなら、−1 を出力せよ。
そうでない場合、AiKi≡Ki(modMi) なる 2×1018 以下の正整数 Ki をひとつ出力せよ。考えられるものが複数ある場合、どれを出力してもよい。
4
2 4
3 8
9 6
10 7
4
11
9
2
それぞれ、24=16≡4(mod4)、311=177147≡11(mod8)、99=387420489≡9(mod6)、102=100≡2(mod7) より、条件を満たします。
3
177 168
2028 88772
123456789 987654321
7953
234831584
471523108231963269