l = 1 r = 10**6+1 N = 10**9 def main1(l, r, x0): if l+1 == r: print("!", l) return m = (l + r) >> 1 if m <= x0: x1 = m - 1 - (x0 - m) if abs(x1) > N: main0(l, r) return print("?", x1) t = int(input()) if t: main1(l, m, x1) else: main1(m, r, x1) else: x1 = m + m - 1 - x0 if abs(x1) > N: main0(l, r) print("?", x1) t = int(input()) if t: main1(m, r, x1) else: main1(l, m, x1) def main0(l, r, f = 1): if l+1 == r: print("!", l) return m = (l + r) >> 1 print("?", m) if f: input() main1(l, r, m) main0(l, r, 0)