top = 10**9 + 1 btm = 1 while top - btm > 1: mid = (top + btm) // 2 print(f'? {mid}', flush=True) flag = int(input()) if flag: btm = mid else: top = mid print(f'! {btm}', flush=True)