aret = 0 # T = 10 ** 100 # d = 0 # while 2 ** (d + 1) <= T: # d += 1 # print(d) # print(2 ** 332 <= T) # print(2 ** 333 <= T) for d in reversed(range(333)): print(f"? 1 {2 ** d}") s = input() if s == "<": continue ret += 2 ** d if s == "=": break print(f"! {ret}")