#include<iostream>
#include<bits/stdc++.h>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<stdio.h>
#include<utility>
#include<algorithm>
#include<iomanip>
#include<functional>
#include<limits>
#include<memory>
#include<cstdlib>
#include<cassert>
#include<cctype>
#include<cfloat>
#include<stack>
#include<queue>
#include<deque>
#include<iterator>
#include<list>
#include<vector>
#include<map>
#include<set>
#include<string.h>
#include<numeric>
#include<ctime>
#include<sstream>
using namespace std;
#define MOD 1000000007
#define pb push_back
#define pob pop_back
#define pf push_front
#define pof pop_front
#define mp make_pair
#define minr min_element
#define maxr max_element
#define mh make_heap
#define ph push_heap
#define poh pop_heap
#define sd(n) scanf("%d",&n)
#define sd2(i,j) scanf("%d%d",&i,&j)
#define pd(n) printf("%d\n",n)
#define sld(n) scanf("%lld",&n)
#define sld2(i,j) scanf("%lld%lld",&i,&j)
#define pld(n) printf("%lld\n",n)
#define pld2(i,j) printf("%lld% lld\n",i,j);
#define forb(i,n) for(int i=0;i<int(n);i++)
#define fora(i,l,h) for(int i=int(l);i<=int(h);i++)
#define ford(i,n) for(int i=int(n);i>=0;i--)
#define all(a) a.begin(),a.end()
#define set(a,x) memset(a,x,sizeof(a))
#define li long long int
li BLOCK_SIZE;
inline bool mo_cmp(const pair<li,pair<li,li>> &x,
const pair<li,pair<li,li>> &y)
{
int block_x = x.first / BLOCK_SIZE;
int block_y = y.first / BLOCK_SIZE;
if(block_x != block_y)
return block_x < block_y;
return x.second.first < y.second.first;
}
li n;
li bit[100005]={0};
void update(li a)
{
for(li i=a;i<100005;i+=(i&-i))
bit[i]++;
}
li qu(li a)
{
li sum=0;
for(li i=a;i>0;i-=(i&-i))
sum+=bit[i];
return sum;
}
li v[100005];
li max_size;
void sieve()
{
// li j=0;
li prime[100005]={0};
for(li i=2;i*i<100005;i++)
{
if(prime[i]==0)
{
for(li j=2;j<100005;j++)
{
if(i*j<100005)
{
prime[i*j]=1;
}
}
}
}
li j=0;
for(li i=2;i<100005;i++)
{
if(prime[i]==0)
{
v[j]=i;
max_size=j;
j++;
}
}
}
int main()
{
sieve();
li t;
scanf("%lld",&t);
while(t--)
{
li n;
scanf("%lld",&n);
li low=n-200;
if(low<2)
low=2;
li arr[202]={0};
for(li i=0;i<max_size;i++)
{
if(v[i]*v[i]>n)
break;
li d=(low/v[i])*v[i];
if(d<low)
{
d+=v[i];
}
if(d==v[i])
{
d+=v[i];
}
for(li j=d;j<=n;j+=v[i])
{
arr[j-low]=1;
}
}
for(li i=n-1;i>=low;i--)
{
if(arr[i-low]==0)
{
printf("%lld\n",i);
break;
}
}
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8Y3N0cmluZz4KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPHV0aWxpdHk+CiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8aW9tYW5pcD4KI2luY2x1ZGU8ZnVuY3Rpb25hbD4KI2luY2x1ZGU8bGltaXRzPgojaW5jbHVkZTxtZW1vcnk+CiNpbmNsdWRlPGNzdGRsaWI+CiNpbmNsdWRlPGNhc3NlcnQ+CiNpbmNsdWRlPGNjdHlwZT4KI2luY2x1ZGU8Y2Zsb2F0PgojaW5jbHVkZTxzdGFjaz4KI2luY2x1ZGU8cXVldWU+CiNpbmNsdWRlPGRlcXVlPgojaW5jbHVkZTxpdGVyYXRvcj4KI2luY2x1ZGU8bGlzdD4KI2luY2x1ZGU8dmVjdG9yPgojaW5jbHVkZTxtYXA+CiNpbmNsdWRlPHNldD4KI2luY2x1ZGU8c3RyaW5nLmg+CiNpbmNsdWRlPG51bWVyaWM+CiNpbmNsdWRlPGN0aW1lPgojaW5jbHVkZTxzc3RyZWFtPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBvYiBwb3BfYmFjawojZGVmaW5lIHBmIHB1c2hfZnJvbnQKI2RlZmluZSBwb2YgcG9wX2Zyb250CiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgbWluciBtaW5fZWxlbWVudAojZGVmaW5lIG1heHIgbWF4X2VsZW1lbnQKI2RlZmluZSBtaCBtYWtlX2hlYXAKI2RlZmluZSBwaCBwdXNoX2hlYXAKI2RlZmluZSBwb2ggcG9wX2hlYXAKI2RlZmluZSBzZChuKSBzY2FuZigiJWQiLCZuKQojZGVmaW5lIHNkMihpLGopIHNjYW5mKCIlZCVkIiwmaSwmaikKI2RlZmluZSBwZChuKSBwcmludGYoIiVkXG4iLG4pCiNkZWZpbmUgc2xkKG4pIHNjYW5mKCIlbGxkIiwmbikKI2RlZmluZSBzbGQyKGksaikgc2NhbmYoIiVsbGQlbGxkIiwmaSwmaikKI2RlZmluZSBwbGQobikgcHJpbnRmKCIlbGxkXG4iLG4pCiNkZWZpbmUgcGxkMihpLGopIHByaW50ZigiJWxsZCUgbGxkXG4iLGksaik7CiNkZWZpbmUgZm9yYihpLG4pIGZvcihpbnQgaT0wO2k8aW50KG4pO2krKykKI2RlZmluZSBmb3JhKGksbCxoKSBmb3IoaW50IGk9aW50KGwpO2k8PWludChoKTtpKyspCiNkZWZpbmUgZm9yZChpLG4pIGZvcihpbnQgaT1pbnQobik7aT49MDtpLS0pCiNkZWZpbmUgYWxsKGEpIGEuYmVnaW4oKSxhLmVuZCgpCiNkZWZpbmUgc2V0KGEseCkgbWVtc2V0KGEseCxzaXplb2YoYSkpCiNkZWZpbmUgbGkgbG9uZyBsb25nIGludApsaSBCTE9DS19TSVpFOwppbmxpbmUgYm9vbCBtb19jbXAoY29uc3QgcGFpcjxsaSxwYWlyPGxpLGxpPj4gJngsCiAgICAgICAgY29uc3QgcGFpcjxsaSxwYWlyPGxpLGxpPj4gJnkpCnsKICAgIGludCBibG9ja194ID0geC5maXJzdCAvIEJMT0NLX1NJWkU7CiAgICBpbnQgYmxvY2tfeSA9IHkuZmlyc3QgLyBCTE9DS19TSVpFOwogICAgaWYoYmxvY2tfeCAhPSBibG9ja195KQogICAgICAgIHJldHVybiBibG9ja194IDwgYmxvY2tfeTsKICAgIHJldHVybiB4LnNlY29uZC5maXJzdCA8IHkuc2Vjb25kLmZpcnN0Owp9CmxpIG47CmxpIGJpdFsxMDAwMDVdPXswfTsKdm9pZCB1cGRhdGUobGkgYSkKewogICAgZm9yKGxpIGk9YTtpPDEwMDAwNTtpKz0oaSYtaSkpCiAgICAgICAgYml0W2ldKys7CiAKfQpsaSBxdShsaSBhKQp7CiAgbGkgc3VtPTA7CiAgZm9yKGxpIGk9YTtpPjA7aS09KGkmLWkpKQogICAgc3VtKz1iaXRbaV07CiAgcmV0dXJuIHN1bTsKIAp9CmxpIHZbMTAwMDA1XTsKbGkgbWF4X3NpemU7CnZvaWQgc2lldmUoKQp7CiAgLy8gIGxpIGo9MDsKICAgbGkgcHJpbWVbMTAwMDA1XT17MH07CiAgICBmb3IobGkgaT0yO2kqaTwxMDAwMDU7aSsrKQogICAgewogICAgICBpZihwcmltZVtpXT09MCkKICAgICAgewogCiAgICAgICAgZm9yKGxpIGo9MjtqPDEwMDAwNTtqKyspCiAgICAgICAgewogICAgICAgIGlmKGkqajwxMDAwMDUpCiAgICAgICAgewogICAgICAgICAgcHJpbWVbaSpqXT0xOwogICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICAgIGxpIGo9MDsKICAgIGZvcihsaSBpPTI7aTwxMDAwMDU7aSsrKQogICAgewogICAgICAgIGlmKHByaW1lW2ldPT0wKQogICAgICAgIHsKICAgICAgICB2W2pdPWk7CiAgICAgICAgbWF4X3NpemU9ajsKICAgICAgICBqKys7CiAgICAgICAgfQogICAgfQogCiAKfQppbnQgbWFpbigpCnsKICBzaWV2ZSgpOwogIGxpIHQ7CiAgc2NhbmYoIiVsbGQiLCZ0KTsKICB3aGlsZSh0LS0pCiAgewogICAgbGkgbjsKICAgIHNjYW5mKCIlbGxkIiwmbik7CiAgICBsaSBsb3c9bi0yMDA7CiAgICBpZihsb3c8MikKICAgIGxvdz0yOwogICAgbGkgYXJyWzIwMl09ezB9OwogICAgZm9yKGxpIGk9MDtpPG1heF9zaXplO2krKykKICAgIHsKICAgICAgaWYodltpXSp2W2ldPm4pCiAgICAgICAgYnJlYWs7CiAgICAgIGxpIGQ9KGxvdy92W2ldKSp2W2ldOwogICAgICBpZihkPGxvdykKICAgICAgewogICAgICAgICAgZCs9dltpXTsKICAgICAgfQogICAgICBpZihkPT12W2ldKQogICAgICB7CiAgICAgICAgICBkKz12W2ldOwogICAgICB9CiAgICAgIGZvcihsaSBqPWQ7ajw9bjtqKz12W2ldKQogICAgICB7CiAgICAgICAgYXJyW2otbG93XT0xOwogICAgICB9CiAgICB9CiAgICBmb3IobGkgaT1uLTE7aT49bG93O2ktLSkKICAgIHsKICAgICAgaWYoYXJyW2ktbG93XT09MCkKICAgICAgewogICAgICAgIHByaW50ZigiJWxsZFxuIixpKTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogCiAgfQp9CiAKIAogCiAKIAo=