#include #define int long long using namespace std; inline int read() { int x=0,f=1; char ch=getchar(); while(ch<48||ch>57) { if(ch==45)f=-1; ch=getchar(); } while(ch>=48&&ch<=57) { x=(x<<1)+(x<<3)+(ch&15); ch=getchar(); } return x*f; } inline void write(int x) { if(x<0)x=-x,putchar(45); if(x>9)write(x/10); putchar(x%10+48); return; } const int M=1e7; int K,prime[M+10]; bool notPrime[M+10]; inline void init() { notPrime[0]=notPrime[1]=1; for(int i=2;i<=M;++i) { if(!notPrime[i])prime[++K]=i; for(int j=1;j<=K&&i*prime[j]<=M;++j) { notPrime[prime[j]*i]=1; if(i%prime[j]==0)break; } } return; } signed main() { //freopen("number.in","r",stdin); //freopen("number.out","w",stdout); int T=read(); init(); for(int czs=1;czs<=T;++czs) { int n=read(); if(n%2==0) { puts(n==2?"No":"Yes"); continue; } bool fg=0,timeout=0; for(int i=1;i<=K;++i) { for(int j=prime[i];j<=n;j*=prime[i]) { int m=n-j; for(int k=i;k<=K;++k) { for(int l=prime[k];l<=m;l*=prime[k]) { if(l==m) { fg=1; //cerr<