#include <iostream>
#define JOB 50007
using namespace std;
int v;
int pcnt,tcnt,home[JOB],exist[JOB];
struct Tribe{
int id,cnt;
}t[JOB];
inline int getjob(){
int vtmp;
cout<<"Getjob\n"<<flush;
cin>>vtmp;
return vtmp;
}
inline bool query(int x,int y){
int qtmp;
cout<<"Query "<<x<<' '<<y<<'\n'<<flush;
cin>>qtmp;
return qtmp;
}
inline void answer(int x){
cout<<"Answer "<<x<<'\n'<<flush;
}
inline void add(){
int f=1;
++pcnt;
exist[pcnt]=1;
for(int i=1;i<=tcnt;++i){
if(query(pcnt,t[i].id)){
home[pcnt]=i,
++t[i].cnt,
f=0;
break;
}
}
if(f){
++tcnt;
home[pcnt]=tcnt,
t[tcnt].id=pcnt,
t[tcnt].cnt=1;
}
}
inline void del(int x){
int tmp=home[x];
exist[x]=0,
--t[tmp].cnt;
if(t[tmp].id==x){
for(register int i=1;i<=pcnt;++i){
if(exist[i]&&home[i]==tmp){
t[tmp].id=i;
return;
}
}
t[tmp].id=0;
}
}
inline void ans(){
if(!tcnt){
answer(0);
return;
}
int mx=-1,mxi=-1,mxcnt=-1;
for(register int i=1;i<=tcnt;++i){
if(t[i].cnt>mx){
mx=t[i].cnt,
mxi=i,
mxcnt=1;
}
else if(t[i].cnt==mx){
++mxcnt;
}
}
if(mxcnt==1){
answer(t[mxi].id);
}
else{
answer(0);
}
}
int main(){
while(1){
v=getjob();
if(v==0){
add();
}
else if(v==-1){
ans();
}
else if(v==-2){
break;
}
else{
del(v);
}
}
}