OK=0 NG=10**9+1 c=0 while True: if c%2==0: print("?",1,flush=True) x=int(input()) if x==-1: print("!",c,flush=True) break elif x==0: print("!",c+1,flush=True) break OK-=1 NG-=1 else: mid=(OK+NG)//2 print("?",mid,flush=True) x=int(input()) if x==-1: NG=mid OK-=1 elif x==1: OK=mid-1 NG-=1 else: print("!",max(0,mid+c),flush=True) break OK=max(0,OK) NG=max(0,NG) c+=1