#include<stdio.h>
int main()
{
int N,M;
scanf("%d",&N);
for(int t = 1; t <= N; t++)
{
scanf("%d",&M);
if(M == 1 || M ==2)
printf("2\n");
else
{
int k,num1,num2,s1,s2;
for(k = 2; k < M; k++)
if( M % k == 0)
break;
if(k < M)
{
for(int i = M; i >= 2; i--)
{
int j;
for(j = 2; j < i; j++)
if(i % j == 0)
break;
if(j == i)
{
s1 = i;
num1 = M - i;
break;
}
}
for(int i = M;; i++)
{
int j;
for(j = 2; j < i; j++)
if(i % j == 0)
break;
if(j == i)
{
s2 = i;
num2 = i - M;
break;
}
}
if(num1 > num2)
printf("%d\n",s2);
else
printf("%d\n",s1);
}
else
printf("%d\n",M);
}
}
return 0;
}
/**************************************************************
Problem: 2108
User: admin
Language: C
Result: Accepted
Time:14 ms
Memory:1144 kb
****************************************************************/