def bsr(x: int) -> int: """1 が立っている最上位ビットの位置を返す (0-indexed)""" assert x != 0 return x.bit_length() - 1 def solve(): N = int(input()) if N == 0: return 0, 0 b = bsr(N) x1 = 1 << b y1 = N - x1 x2 = b >> 1 y2 = (b >> 1) - 1 if x1 * y1 > x2 * y2: return x1, y1 return x2, y2 T = int(input()) for _ in range(T): ans = solve() print(*ans)