low = 10 high = pow(10, 9) mid = (low + high) // 2 count = 0 while True: if count < 30: print('?', 10 + count) if int(input()) == 0: print('!', 10 + count + count) print('?', mid) r = int(input()) if r == 0: print('!', mid + count) break if r == 1: low = mid - 1 if r == -1: high = mid low -= 1 mid = (low + high) // 2 count += 1