import sys left=10 right=1000000001 print "? %d" % 512 sys.stdout.flush() res=int(raw_input()) if res>0: left=513 elif res<0: right=511 else: print "! %d" % 512 sys.stdout.flush() exit() t=1 while left < right: mid=(left+right)/2 print "? %d" % (mid-t) sys.stdout.flush() res=int(raw_input()) if res>0: left=mid+1 elif res<0: right=mid-1 else: left=right=mid t+=1 print "! %d" % left sys.stdout.flush()