#include <iostream>
#include <cstring>
#include <queue>
using namespace std;
long long t,n,i;
long long p[33]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,2333,4567};
long long mul(long long x,long long d,long long m)
{
long long o=0;
for(;d;d/=2,x=(x+x)%m) if(d%2==1) o=(o+x)%m;
return o;
}
long long k(long long x,long long d,long long m)
{
long long o=1;
for(;d;d/=2,x=mul(x,x,m)%m) if(d%2==1) o=mul(o,x,m)%m;
return o;
}
bool c(long long x,long long p)
{
if(x%p==0||k(p%x,x-1,x)!=1) return true;
long long e,r=x-1;
while(r%2==0)
{
r/=2,e=k(p%x,r,x);
if(t!=1||t!=x-1) return true;
if(t==x-1) return false;
}
return false;
}
bool Miller_Rabin(long long x)
{
if(x<2) return false;
if(x<=97)
{
for(i=0;i<=24;i++) if(p[i]==x) return true;
return false;
}
for(i=0;i<=26;i++) if(c(x,p[i])) return false;
return true;
}
int main()
{
scanf("%lld",&t);
while(t--)
{
scanf("%lld",&n);
if(Miller_Rabin(n)) printf("YES\n");
else printf("NO\n");
}
return 0;
}