#include using namespace std; int main() { const int M = 1e7; vector isPrime(M + 1, true); isPrime[0] = false, isPrime[1] = false; for (int i = 2; i <= M; i++) { if (isPrime[i]) { for (int j = i + i; j <= M; j += i) { isPrime[j] = false; } } } vector prime; for (int i = 2; i <= M; i++) { if (isPrime[i]) prime.push_back(i); } vector ans; for (int i = 1; i < prime.size(); i++) { if (prime[i] - prime[i - 1] == 2) { ans.push_back((long long) prime[i - 1] * prime[i]); } } int T; cin >> T; while (T--) { long long N; cin >> N; if (N <= 14) { cout << -1 << endl; } else { cout << *prev(upper_bound(ans.begin(), ans.end(), N)) << endl; } } return 0; }