import sys def question(num): print("? " + str(num)) sys.stdout.flush() n = int(input()) if n == 1: return True else: return False def result(num): print("! " + str(num)) sys.stdout.flush() # main max_num = 1000000000 judge = int(max_num / 2) min_num = 1 for i in range(0,29): r = question(judge) if r == True: # higer or equal min_num = judge else: # low max_num = judge judge = int((max_num - min_num) / 2) + min_num judge = min_num for i in range(0,71): r = question(judge) if r == True: min_num = judge else: max_num = judge if (max_num - min_num) <= 1: break judge += 1 result(min_num)