def partition(X): a = 0 b = 0 msb = 0 for i in range(0, 60): if (X >> i) & 1: msb = i for i in range(0, msb + 1): if (X >> i) & 1: if i == msb: a += (1 << i) else: b += (1 << i) return a, b T = int(input()) for _ in range(T): N = int(input()) msb = 0 for i in range(0, 60): if (N >> i) & 1: msb = i a1, b1 = partition(N) a2, b2 = partition((1 << msb) - 1) if a1 * b1 > a2 * b2: print(a1, b1) else: print(a2, b2)