#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
const int maxn=1000010;
bool isP(int n)
{
int a=(int)sqrt(1.0*n);
if(n<=1)
return false;
else
{
for (int i=2;i<=a;i++)
{
if(n%i==0)
return false;
}
}
return true;
}
int main()
{
int n,radix,temp[111];;
while(1)
{
scanf("%d",&n);
if(n<0)
break;
scanf("%d",&radix);
if(isP(n)==false)
printf("No\n");
else
{
int len=0;
while(n>0)
{
temp[len++]=n%radix;
n/=radix;
}
for (int i=0;i<len;i++)
{
n=n*radix+temp[i];
}
if(isP(n)==false)
printf("No\n");
else
printf("Yes\n");
}
}
}