#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
****************************************************************/