#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int MAXN = 1e7 + 100;
const int MAXM = 3e3 + 10;
inline int read() {
int x = 0, ff = 1; char ch = getchar();
while(!isdigit(ch)) {
if(ch == '-') ff = -1;
ch = getchar();
}
while(isdigit(ch)) {
x = (x << 1) + (x << 3) + (ch ^ 48);
ch = getchar();
}
return x * ff;
}
inline void write(int x) {
if(x < 0) putchar('-'), x = -x;
if(x > 9) write(x / 10);
putchar(x % 10 + '0');
}
int n, m, ans, v[MAXN], prime[MAXN];
void Primes(int n) {
for(int i = 2; i <= n; ++i) {
if(!v[i]) {
v[i] = i;
prime[++ans] = i;
}
for(int j = 1; j <= ans; ++j) {
if(prime[j] > v[i] || prime[j] > n / i) break;
v[i * prime[j]] = prime[j];
}
}
}
int main() {
n = read(); m = read();
Primes(n);
for(int i = 1; i <= m; ++i) {
int x;
x = read();
if(v[x] == x) printf("Yes\n");
else printf("No\n");
}
return 0;
}