import sys mem = [] print("? 100") sys.stdout.flush() res = int(input()) mem.append((100, res)) if res == -1: while res != 0: print("? 1") sys.stdout.flush() res = int(input()) mem.append((1, res)) elif res == 1: ng = 0 ok = 10 ** 9 while res != 0: mid = (ok + ng) // 2 print(f"? {mid - len(mem)}") sys.stdout.flush() res = int(input()) mem.append((mid - len(mem), res)) if res < 0: ok = mid else: ng = mid print(f"! {mem[-1][0] + len(mem) - 1}") sys.stdout.flush()