def solve(): n = int(input()) if n == 0: print(0, 0) return if n == 1: print(1, 0) return if n == 2: print(2, 0) return md = n.bit_length() - 1 res1 = (1 << md, n - (1 << md)) n = res1[0] - 1 md = n.bit_length() - 1 res2 = (1 << md, n - (1 << md)) if n <= 0 or res1[0] *res1[1] >=res2[0] * res2[1]: print(res1[0], res1[1]) else: print(res2[0], res2[1]) def main(): TT = int(input()) for _ in range(TT): solve() if __name__ == '__main__': main()