1 #include<cstdio>
2 #include<iostream>
3 #include<cstring>
4 #include<cmath>
5 #include<ctime>
6 #include<cstdlib>
7
8 #include<string>
9 #include<stack>
10 #include<queue>
11 #include<vector>
12 #include<algorithm>
13 #include<map>
14 #include<set>
15
16 using namespace std;
17
18 inline void read(int &x){
19 x=0;
20 char t=getchar();
21 bool f=0;
22
23 while(t<'0' || t>'9'){
24 if(t=='-')f=1;
25 t=getchar();
26 }
27
28 while(t>='0' && t<='9'){
29 x=(x<<3)+(x<<1)+t-'0';
30 t=getchar();
31 }
32
33 if(f)x=-x;
34 }
35
36 void Euler();
37
38 bool pd[10000001];
39 int prime[700001],p=0;
40
41 int n,m,i,j,x;
42
43 int main(){
44 memset(pd,1,sizeof(pd));
45
46 pd[1]=0;
47
48 read(n);read(m);
49
50 Euler();
51
52 for(i=1;i<=m;i++){
53 read(x);
54
55 if(pd[x])printf("Yes\n");
56 else printf("No\n");
57 }
58
59 return 0;
60 }
61
62 void Euler(){
63 int i,j;
64
65 for(i=2;i<=n;i++){
66 if(pd[i]){
67 p++;
68 prime[p]=i;
69 }
70
71 for(j=1;j<=p;j++){
72 if(i*prime[j]>n)break;
73
74 pd[i*prime[j]]=0;
75
76 if(i%prime[j]==0)break;
77 }
78 }
79 }