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