#3475. 快速幂求逆元

快速幂求逆元

题目描述

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

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

乘法逆元的定义

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

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

输入格式

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

输出格式

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

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

3
4 3
8 5
6 3
1
2
impossible

提示

1n105 1 \leq n \leq 10^5

1ai,pi2×109 1\leq a_i,p_i \leq 2 \times 10^9

pp 是素数.对于任意整数 𝑎,pa𝑎, p\nmid a,都成立 ap11(modp)a^{p-1} \equiv 1\pmod p.