#include<stdio.h>
#define maxn 100000
//素数槽
int a[maxn];
int main()
{
int T, k, flag=1, j=0, flag2=0, m;
scanf("%d", &T);
while(T--)
{
scanf("%d", &k);
for(int i=1;i<=1299709;i++)
{
flag=1;
for(int n=2;n<i;n++)
{
if(i%n==0)
{
flag=0;
}
}
if(flag==1&&i!=1)
{
if(i>=k)
{
break;
}
else
{
a[j++]=i;
printf("%d、%d\n",j,a[j]);
}
}
}
for(int i=0;i<=j;i++)
{
if(a[i]==k&&k<=1299709)
{
flag2=0;
break;
}
else if(a[i]<k&&k<a[i+1]&&k<=1299709)
{
flag2=1;
m=a[i+1]-a[i];
break;
}
}
if(flag2)
printf("%d\n",m);
else
printf("%d\n",0);
}
return 0;
}
#define maxn 100000
//素数槽
int a[maxn];
int main()
{
int T, k, flag=1, j=0, flag2=0, m;
scanf("%d", &T);
while(T--)
{
scanf("%d", &k);
for(int i=1;i<=1299709;i++)
{
flag=1;
for(int n=2;n<i;n++)
{
if(i%n==0)
{
flag=0;
}
}
if(flag==1&&i!=1)
{
if(i>=k)
{
break;
}
else
{
a[j++]=i;
printf("%d、%d\n",j,a[j]);
}
}
}
for(int i=0;i<=j;i++)
{
if(a[i]==k&&k<=1299709)
{
flag2=0;
break;
}
else if(a[i]<k&&k<a[i+1]&&k<=1299709)
{
flag2=1;
m=a[i+1]-a[i];
break;
}
}
if(flag2)
printf("%d\n",m);
else
printf("%d\n",0);
}
return 0;
}