def is_witness(a, x): if x == 2: return False a = a % x if a == 0: return False d = x - 1 s = 0 while d % 2 == 0: d //= 2 s += 1 term = pow(a, d, x) if term == 1 or term == x - 1: return False for _ in range(s - 1): term = (term * term) % x if term == x - 1: return False return True def is_prime(x): if x <= 1: return False if x <= 3: return True if x % 2 == 0: return False bases = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37] for a in bases: if a >= x: continue if is_witness(a, x): return False return True n = int(input()) for _ in range(n): x = int(input()) print(f"{x} {1 if is_prime(x) else 0}")