sb
#include <cstdio>
#include <cmath>
using namespace std;
const int MAXN = 20;
bool isPrime(int x) {
if(x <= 1) return false;
for(int i=2; i<=sqrt(x); i++)
if(x % i == 0)
return false;
return true;
}
int main() {
while(1) {
int N, D;
scanf("%d",&N);
if(N < 0) return 0;
scanf("%d",&D);
if(!isPrime(N)) { // --|||
printf("No\n");
continue;
}
int len = 0, number[MAXN];
do{
number[len++] = N % D;
N /= D;
} while(N != 0);
for(int i=0; i<len; i++)
N = N * D + number[i]; // --|||
if(isPrime(N)) printf("Yes\n");
else printf("No\n");
}
return 0;
}