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