# 1 以上 N 以下の整数が素数かどうかを返す def Eratosthenes(N): # テーブル isprime = [True] * (N+1) # 0, 1 は予めふるい落としておく isprime[0], isprime[1] = False, False # ふるい for p in range(2, N+1): # すでに合成数であるものはスキップする if not isprime[p]: continue # p 以外の p の倍数から素数ラベルを剥奪 q = p * 2 while q <= N: isprime[q] = False q += p # 1 以上 N 以下の整数が素数かどうか return isprime import bisect ma = 10**7+1 era = Eratosthenes(ma) smt=[] for i in range(len(era)): if era[i] and era[i+2]: smt.append(i*(i+2)) T=int(input()) for _ in range(T): N=int(input()) bi=bisect.bisect_right(smt,N) if bi==0: print(-1) else: print(smt[bi-1])