
#include<stdio.h>
#include<math.h>
#define N 1000000
int num[N]={0};
int a[N]={0};
int cnt=0,flag;
void select()
{
num[0]=num[1]=1;
for(int i=2;i<=N/2;i++)
{
if(!num[i])
for(int j=i+i;j<=N;j+=i)
{
num[j]=1;
}
}
for(int i=2;i<N;i++)
{
if(!num[i])
a[cnt++]=i;
}
}//判断素数并且单独存起来
void thing(int b)
{
if(b<10&&num[b])
{
printf("No\n");
flag=0;
}//避免漏掉1
if(flag)
{
for(int i=0;i<cnt&&a[i]<=sqrt(b);i++)
{
if(b%a[i]==0)
{
printf("No\n");
flag=0;
break;
}
}
}
}//判断是不是素数
int ws(int c)
{
int b=0;
while(c)
{
c/=10;
b++;
}
return b;
}//判断几位数
int cm(int j)
{
if(j==0)
return 1;
else
{
int sum=1;
for(int i=0;i<j;i++)
{
sum*=10;
}
return sum;
}
}//得到10的幂
int main()
{
int K;
scanf("%d",&K);
select();
while(K--)
{
int n;
scanf("%d",&n);
flag=1;
int x=n,y;
while(x)
{
y=x%10;
if(!y)
{
printf("No\n");
flag=0;
break;
}
x/=10;
}//只要有0就不行
if(flag)
{
thing(n);
if(flag)
{
for(int i=ws(n)-1;i>0;i--)
{
n%=cm(i);
thing(n);
}
}
}
if(flag)
printf("Yes\n");
}
}