#include <iostream>
#include <cmath>
using namespace std;
unsigned long long int mul(unsigned long long int a, unsigned long long int b, unsigned long long int mod)
{
int i;
unsigned long long int now = 0;
for (i = 63; i >= 0; i--) if (((a >> i) & 1) == 1) break;
for (; i >= 0; i--)
{
now <<= 1;
while (now > mod) now -= mod;
if (((a >> i) & 1) == 1) now += b;
while (now > mod) now -= mod;
}
return now;
}
unsigned long long int pow(unsigned long long int a, unsigned long long int p, unsigned long long int mod)
{
if (p == 0) return 1;
if (p % 2 == 0) return pow(mul(a, a, mod), p / 2, mod);
return mul(pow(a, p - 1, mod), a, mod);
}
bool MillerRabin(unsigned long long int n)
{
int l;
unsigned long long int ar[9] = { 2, 3, 5, 7, 11, 13, 17, 19, 23 };
if (n < 4759123141) {
l = 3;
}
else if (n < 341550071728321) {
l = 7;
}
else {
l = 9;
}
//l = 9;
unsigned long long d = n - 1;
int s = 0;
while ((d & 1) == 0) { d >>= 1; s++; }
int i, j;
for (i = 0; i < l; i++)
{
unsigned long long int a = min(n - 2, ar[i]);
unsigned long long int now = pow(a, d, n);
if (now == 1) continue;
if (now == n - 1) continue;
for (j = 1; j < s; j++)
{
now = mul(now, now, n);
if (now == n - 1) break;
}
if (j == s) return false;
}
return true;
}
bool check_prime(unsigned long long int n) {
if(!MillerRabin(n)) return false;
if(n == 2) return true;
if(n % 2 == 0) return false;
for(unsigned long long int i = 3; i <= sqrt(n); i+=2) {
if(n % i == 0) return false;
}
return true;
}
int main()
{
int t;
cin >> t;
while(t--) {
unsigned long long int n;
cin >> n;
while(1) {
if(check_prime(n)) {
cout << n << endl;
break;
}
else {
n--;
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgbXVsKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgYSwgdW5zaWduZWQgbG9uZyBsb25nIGludCBiLCB1bnNpZ25lZCBsb25nIGxvbmcgaW50IG1vZCkKICAgIHsKICAgICAgICBpbnQgaTsKICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IG5vdyA9IDA7CiAgICAgICAgZm9yIChpID0gNjM7IGkgPj0gMDsgaS0tKSBpZiAoKChhID4+IGkpICYgMSkgPT0gMSkgYnJlYWs7CiAgICAgICAgZm9yICg7IGkgPj0gMDsgaS0tKQogICAgICAgIHsKICAgICAgICAgICAgbm93IDw8PSAxOwogICAgICAgICAgICB3aGlsZSAobm93ID4gbW9kKSBub3cgLT0gbW9kOwogICAgICAgICAgICBpZiAoKChhID4+IGkpICYgMSkgPT0gMSkgbm93ICs9IGI7CiAgICAgICAgICAgIHdoaWxlIChub3cgPiBtb2QpIG5vdyAtPSBtb2Q7CiAgICAgICAgfQogICAgICAgIHJldHVybiBub3c7CiAgICB9CgogICAgdW5zaWduZWQgbG9uZyBsb25nIGludCBwb3codW5zaWduZWQgbG9uZyBsb25nIGludCBhLCB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHAsIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgbW9kKQogICAgewogICAgICAgIGlmIChwID09IDApIHJldHVybiAxOwogICAgICAgIGlmIChwICUgMiA9PSAwKSByZXR1cm4gcG93KG11bChhLCBhLCBtb2QpLCBwIC8gMiwgbW9kKTsKICAgICAgICByZXR1cm4gbXVsKHBvdyhhLCBwIC0gMSwgbW9kKSwgYSwgbW9kKTsKICAgIH0KCgpib29sIE1pbGxlclJhYmluKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgbikKewogICAgICAgIGludCBsOwogICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IGFyWzldID0geyAyLCAzLCA1LCA3LCAxMSwgMTMsIDE3LCAxOSwgMjMgfTsKICAgICAgICBpZiAobiA8IDQ3NTkxMjMxNDEpIHsKCiAgICAgICAgICAgICAgICBsID0gMzsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAobiA8IDM0MTU1MDA3MTcyODMyMSkgewogICAgICAgICAgICAgICAgbCA9IDc7CiAgICAgICAgfQogICAgICAgIGVsc2UgewoKICAgICAgICAgICAgICAgIGwgPSA5OwogICAgICAgIH0KICAgICAgICAvL2wgPSA5OwogICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkID0gbiAtIDE7CiAgICAgICAgaW50IHMgPSAwOwogICAgICAgIHdoaWxlICgoZCAmIDEpID09IDApIHsgZCA+Pj0gMTsgcysrOyB9CiAgICAgICAgaW50IGksIGo7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IGw7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgYSAgPSBtaW4obiAtIDIsIGFyW2ldKTsKICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGludCBub3cgPSBwb3coYSwgZCwgbik7CiAgICAgICAgICAgIGlmIChub3cgPT0gMSkgY29udGludWU7CiAgICAgICAgICAgIGlmIChub3cgPT0gbiAtIDEpIGNvbnRpbnVlOwogICAgICAgICAgICBmb3IgKGogPSAxOyBqIDwgczsgaisrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBub3cgPSBtdWwobm93LCBub3csIG4pOwogICAgICAgICAgICAgICAgaWYgKG5vdyA9PSBuIC0gMSkgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKGogPT0gcykgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICBib29sIGNoZWNrX3ByaW1lKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgbikgewoKICAgIGlmKCFNaWxsZXJSYWJpbihuKSkgcmV0dXJuIGZhbHNlOwogICAgaWYobiA9PSAyKSByZXR1cm4gdHJ1ZTsKICAgIGlmKG4gJSAyID09IDApIHJldHVybiBmYWxzZTsKICAgIGZvcih1bnNpZ25lZCBsb25nIGxvbmcgaW50IGkgPSAzOyBpIDw9IHNxcnQobik7IGkrPTIpIHsKICAgICAgICBpZihuICUgaSA9PSAwKSByZXR1cm4gZmFsc2U7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKQp7CiAgICBpbnQgdDsKCiAgICBjaW4gPj4gdDsKCiAgICB3aGlsZSh0LS0pIHsKICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IG47CiAgICAgICAgY2luID4+IG47CiAgICAgICAgd2hpbGUoMSkgewogICAgICAgICAgICBpZihjaGVja19wcmltZShuKSkgewogICAgICAgICAgICAgICAgY291dCA8PCBuIDw8IGVuZGw7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG4tLTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCn0K