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 = 0 ok = 1222 * pow(10, 72) while True: if abs(ng - ok) / abs(ok) <= pow(10, -5) or abs(ng - ok) <= pow(10, -5): print('!', '{0:.10f}'.format(ok),flush=True) break mid = ok * pow(10, -5) if query(mid): ok = mid else: continue t = int(input()) for _ in range(t): solve()