#include <iostream>
#include <vector>
using namespace std;
const int N=110000;
int sumofDivisors(int x, const vector<int>& primes)
{
int ans=1;
for(int i=0;i<primes.size() && x!=1;++i)
{
int pow=1;
int curSum=1;
while( x%primes[i]==0)
{
x/=primes[i];
pow*=primes[i];
curSum+=pow;
}
ans*=curSum;
}
return ans;
}
int main()
{
vector<bool> mark(N+100,false);
vector<int> primes;
for(int i=2;i<=N;++i)
{
if(!mark[i])
{
int b=i+i;
while(b<=N)
{
mark[b]=true;
b+=i;
}
}
}
for(int i=2;i<=N;++i)
if(!mark[i])
primes.push_back(i);
vector<bool> markAns(N+100,false);
vector<int> nums;
for(int i=10;i<=N;++i)
if( sumofDivisors(i,primes)-i>i)
{
markAns[i]=true;
nums.push_back(i);
}
int t;
cin>>t;
for(int k=1;k<=t;++k)
{
int n;
cin>>n;
if(n>28123)
{
cout<<"YES"<<endl;
continue;
}
bool ans=false;
for(int i=0;i<nums.size();++i)
if( nums[i]<n && markAns[n-nums[i]])
ans=true;
if(ans)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
}