from bisect import bisect_right def get_primes(size=10**7): global is_prime is_prime = [True] * (size + 1) is_prime[0] = is_prime[1] = False primes = [] for i in range(size + 1): if not is_prime[i]: continue primes.append(i) j = 2 while i * j <= size: is_prime[i * j] = False j += 1 return primes primes = get_primes() ps = [] for p in primes[:-1]: if is_prime[p + 2]: ps.append(p * (p + 2)) T = int(input()) for _ in range(T): N = int(input()) idx = bisect_right(ps, N) - 1 if idx >= 0: print(ps[idx]) else: print(-1)