#3804. 伪质数

伪质数

Description

费马小定理:假如 a 是一个整数,p 是一个质数,那么 a^p-a是 p 的倍数,可以表示为:ap≡a(mod p)。如果 a 不是 p 的倍数,这个定理也可以写成 ap-1≡1(mod p),这个书写方式更加常用。但是有一些非质数 p,在特定的 a 的情况下会满足 ap≡a(mod p),管它叫基于 a 的伪质数。

给定 2<=p<=10,000,000,000 和 1<a<p,请判断 p 是否为基于 a的伪质数。

Input Format

每个测试点多组数据,每组数据占一行由空格隔开的 p 和 a。文件结尾由两个 0 结束。

Output Format

每组数据一行,如果 p 是基于 a 的伪质数输出 yes,否则输出 no

10 3
341 2
341 3
0 0
no
yes
no

Source

CodesOnline