import bisect def eratosthenes(n): primes = [True] * (n+1) primes[0], primes[1] = False, False for i in range(2, int(n**0.5)+1): if primes[i]: for j in range(i*i, n+1, i): primes[j] = False return [p for p in range(2, n+1) if primes[p]] tbl = eratosthenes(10**7) twins = [] for i in range(len(tbl) - 1): l, r = tbl[i], tbl[i+1] if l+2 == r: twins.append(l*r) t = int(input()) for _ in range(t): n = int(input()) p = bisect_right(twins, n) if 1 <= p: print(twins[p-1]) else: print(-1)