直接打表
#include<stdio.h>
#include<string.h>
#define N 5001
int flag[N];
void init()
{
int i,l,j;
int a,b;
memset(flag,0,sizeof(flag));
for(i=1;i<=5000;i++)
{
for(l=1;l<=1000;l++)
{
for(j=1;j<=1000;j++)
{
a=l*l*j+1;
b=l*l+j;
if(a%i==0 && b%i) flag[i]=1;
if(flag[i]) break;
}
if(flag[i]) break;
}
}
}
int main()
{
int T;
int n;
init();
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
if(flag[n]) puts("NO");
else puts("YES");
}
return 0;
}