#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;
	}


}