import sys def puts(s): print s sys.stdout.flush() l, r = 10, 10 ** 9 while 1: x = (l + r) / 2 puts("? %d" % x) reply = int(raw_input()) if reply == 1: l = x + 1 if reply == -1: r = x - 1 if reply == 0: puts("! %d" % x) break l, r = max(0, l - 1), max(0, r - 1)