OK=0 NG=10**9+1 c=0 while True: 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