import sys def puts(s): print s sys.stdout.flush() l, r = 10, 10 ** 9 for i in xrange(100): 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 + i)) break l, r = max(0, l - 1), max(0, r - 1)