#include<iostream>
using namespace std;
int ste[200005],pr[200005],id,maxi,mini,T,n;
bool win[200005],ntp[200005];
int main(){
for(int i=2;i<=20000;i++){
if(!ntp[i]){
for(int j=i*i;j<=20000;j+=i){
ntp[j]=true;
}
id++;
pr[id]=i;
}
}
for(int i=2;i<=20000;i++){
maxi=0,mini=999999;
int id2=1;
while(pr[id2]<=i){
if(!win[i-pr[id2]]){
win[i]=true;
mini=min(mini,ste[i-pr[id2]]);
}
else{
maxi=max(maxi,ste[i-pr[id2]]);
}
id2++;
}
if(win[i]){
ste[i]=mini+1;
}
else{
ste[i]=maxi+1;
}
}
cin>>T;
for(int i=1;i<=T;i++){
cin>>n;
if(win[n]){
cout<<ste[n]<<endl;
}
else{
cout<<-1<<endl;
}
}
return 0;
}
思路很简单,但是不知道为啥厌氧而且蜜汁WA on #9