代码如下
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
long long pow4(long long a,long long b,long long MOD)
{
long long res=1;
while(b>0) {
if(b&1) res=res*a%MOD;
a=a*a%MOD;
b>>=1;
}
return res;
}
int main()
{
long long p,a;
while(~scanf("%lld%lld",&p,&a)){
if(p==0&&a==0) break;
int flag=1;
for(long long i=2;i*i<=p;i++){
if(p%i==0) {
flag=0; break;
}
}
if(flag) {
printf("no\n");
continue;
}
if(pow4(a,p,p)==a) {
printf("yes\n");
}
else{
printf("no\n");
}
}
}