
prime:素数
#include <iostream>
#include <queue>
using namespace std;
bool isPrime(int N){
if(N<=1)return false;
if(N==2)return true;
for (int i = 2; i <= N/2; ++i) {
if(N%i==0)return false;
}
return true;
}
int main(){
int N,D;
queue<int>s,res;
for(;;){
cin>>N;
if(N<0)break;
cin>>D;
if(!isPrime(N)){
res.push(0);
continue;
}
while(N>=D){
s.push(N%D);
N/=D;
}
s.push(N);
N=0;
while(!s.empty()){
N=N*D+s.front();
s.pop();
}
if(isPrime(N))
res.push(1);
else
res.push(0);
}
while(!res.empty()){
if(res.front()==0)cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
res.pop();
}
return 0;
}