#660. 快速幂求逆元

快速幂求逆元

题目描述

给定 nnai,pia_i, p_i,其中 pip_i 是质数,求 aia_ipip_i 的乘法逆元,若逆元不存在则输出 impossible

注意:请返回在 0p10 \sim p-1 之间的逆元。

乘法逆元的定义

若整数 bmb,m 互质,并且对于任意的整数 aa,如果满足 bab|a,则存在一个整数 xx,使得 aba×x(modm) \frac{a}{b} ≡a \times x \pmod m ,则称 xxbb 的模 mm 乘法逆元,记为 b1(modm)b^{-1} \pmod m

bb 存在乘法逆元的充要条件是 bb 与模数 mm 互质。当模数 mm 为质数时,bm2b^{m-2} 即为 bb 的乘法逆元。

输入格式

第一行包含整数 nn

接下来 nn 行,每行包含一个数组 ai,pia_i, p_i,数据保证 pip_i 是质数。

输出格式

输出共 nn 行,每组数据输出一个结果,每个结果占一行。

aia_ipip_i 的乘法逆元存在,则输出一个整数,表示逆元,否则输出 impossible

数据范围

1n1051 \le n \le 10^5, 1ai,pi21091 \le a_i,p_i \le 2*10^9

输入样例:

3
4 3
8 5
6 3

输出样例:

1
2
impossible