N = int(input())
for i in range(N):
def ListToInt(InputList):
ReturnValue = 0
for i, value in enumerate(InputList):
if value == 1:
ReturnValue += 2**(len(InputList)-i-1)
return ReturnValue
RangeTop = int(input())
b = len(bin(RangeTop)[2:])
OsszeszamlaloLista = [0 for i in range(b)]
osszeg = 0
for i in range(RangeTop+1):
osszeg ^= i
for index, j in enumerate(str(bin(i)[2:]).zfill(b)):
if j == "1":
OsszeszamlaloLista[index] += 1
KeresettSzamBinarisban = [0 for i in range(len(OsszeszamlaloLista))]
for i, value in enumerate(OsszeszamlaloLista):
if int(value) % 2 == 0 and value != 0:
KeresettSzamBinarisban[i] += 1
if ListToInt(KeresettSzamBinarisban) > RangeTop:
KeresettSzamBinarisban[i] -=1
VegOsszeg = 0
print(osszeg, osszeg^ListToInt(KeresettSzamBinarisban))
"""for i in range(b):
OsszeszamlaloLista[i] -= KeresettSzamBinarisban[i]
if OsszeszamlaloLista[i] % 2 == 1:
OsszeszamlaloLista[i] = 1
else:
OsszeszamlaloLista[i] = 0"""