import sys
readline=sys.stdin.readline

def Interactive(*query):
    print(*query)
    sys.stdout.flush()
    return input()

def Bisect_Int(ok,ng,is_ok):
    while abs(ok-ng)>1:
        mid=(ok+ng)//2
        if is_ok(mid):
            ok=mid
        else:
            ng=mid
    return ok

cnt=0
def is_ok(x):
    global cnt
    retu=int(Interactive("?",x-cnt))
    if retu==0:
        print("!",x)
        exit()
    cnt+=1
    return retu>=1

ans=Bisect_Int(10,1<<7,is_ok)
if ans==127:
    ans=Bisect_Int(127,1<<30,is_ok)
else:
    print("!",ans)