from math import comb def find_p_r(N): for p in range(2, int(N**(1/2))+1): if N % p == 0: r = 0 while N % p == 0: N //= p r += 1 for i in range(r+1): if comb(r+i, i) == N: return p, i if N > 1: return N, 0 return -1, -1 k = int(input()) factors = [] for _ in range(k): p, e = map(int, input().split()) factors.append((p, e)) N = 1 for p, e in factors: N *= p ** e p, r = find_p_r(N) print(p, r)