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 = raw_input() if reply == 1: l = x if reply == -1: r = x if reply == 0: puts("! %d" % (max(0, x - 1))) break l, r = max(0, l - 1), max(0, r - 1)