MIN = 1 MAX = 10 ** 6 print('?', MIN) X = [MIN] l = MIN r = MAX while r - l > 1: x = l + r - X[-1] print('?', x) c = int(input()) if c == 1: if x < X[-1]: r = (x + X[-1]) // 2 else: l = (x + X[-1]) // 2 else: if x < X[-1]: l = (x + X[-1]) // 2 else: r = (x + X[-1]) // 2 X.append(x) print('?', l) c = int(input()) print('?', r) c = int(input()) if c == 1: print('!', r) else: print('!', l)