def query(x): print('?', '{0:.10f}'.format(x),flush=True) s = input() if s == -1: exit() return True if s == 'Yes' else False def solve(): ng = 1222 * pow(10, 72) + 1 ok = 0 cnt = 0 while True: cnt += 1 if cnt >= 25: exit() if abs(ng - ok) / abs(ng) <= pow(10, -5): print('!', '{0:.10f}'.format(ok),flush=True) break mid = (ok + ng) / 2 if query(mid): ok = mid else: ng = mid t = int(input()) for _ in range(t): solve()