using namespace std;
typedef long long ll;
const int maxn=1e5+45;
ll cnt,cube[maxn];
char s[maxn];
map<ll,bool>vis;
void inti(){
for(int i=1;i<=10000;i++){
vis[i*i*i]=1;
}
}
int main()
{
ll t,n,l;
scanf("%lld",&t);
for(int i=1;i<=10000;i++){
vis[i*i*i]=1;
}
while(t--){
scanf("%lld",&n);
int flag=0;
for(int i=1;i<=cbrt(n);i++){
// cout<<i*i*i<<endl;
if(n-i*i*i>0&&vis[n-i*i*i]&&vis[i*i*i]){
flag=1;
break;
}
}
if(flag)printf("YES\n");
else printf("NO\n");
}
return 0;
}```