#include <iostream>
using namespace std;
/*
**
1.判断是否是素数
2.根据某个进制来反转数字
*/
bool isPrime(int N)
{
if(N < 2)
return false;
for(int i = 2; i * i <= N;i++)
if(N % i == 0)
return false;
return true;
}
int reverseNumber(int N,int radix)
{
int result = 0;
while(N)
{
int temp = N % radix;
result = result * radix + temp;
N /= radix;
}
return result;
}
int main()
{
int N,D;
while(true)
{
cin >> N;
if(N < 0)
break;
cin >> D;
if(!isPrime(N) || N == 1)
cout << "No" << endl;
else{
if(isPrime(reverseNumber(N,D))) cout << "Yes" << endl;
else cout << "No" << endl;
}
}
return 0;
}