from pprint import pprint import sys sys.set_int_max_str_digits(10**6) DEBUG = False if DEBUG: x = "" n = 1.41421356237309504880168872420969807856967187537694 def print(Q, flush): # pprint(Q) y = float(Q[2:]) if Q[0] == "!": mi = min(abs(n - y), abs(n - y) / abs(n)) pprint(mi) return global x if y <= n: x = "Yes" else: x = "No" def input(): return x def judge(Q): print(Q, flush=True) if Q[0] == "?": return input() T = 1 if not DEBUG: T = int(input()) for _ in range(T): r = 12.22 * 10**74 l = 10**-6 for _ in range(24): mid = (l * r) ** 0.5 res = judge(f"? {mid:.12f}") # pprint(res) if res == "No": r = mid elif res == "Yes": l = mid else: assert False exit() ans = (l * r) ** 0.5 judge(f"! {ans:.12f}")