#include<iostream>
using namespace std;
const int maxn=1e7+6;
int n,m;
int flag[maxn];
int p[maxn];
void getPrime(int n)
{
int r=0;
for(int i=2;i<=n;i++)
{
if(flag[i]==0)
p[++r]=i;
for(int j=1;j<=r;j++)
{
if(i*p[j]>n) break;
flag[i*p[j]]=1;//任意一个合数是一个质数与一个数的积
}
}
}
int main()
{
cin>>n>>m;
getPrime(n);
flag[1]=1;//0不是质数
flag[0]=1;//1不是质数
for(int i=1;i<=m;i++)
{
int x;
cin>>x;
if(flag[x]==0) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}