#include <iostream>
using namespace std;
/***
输入:第一行一个q,表示组数
接下来有q行,每行一个整数k,表示想知道第k个素数是多少
满足1<=q<=100000,1<=k<=100000
***/
//判断素数
int Primer(int n)
{
if(n <= 1)
return 0;
int qq=int(sqrt((double)n));
for(int i = 2; i <= qq; i++)
{
if(n % i == 0)
return 0;
else
continue;
}
return 1;
}
int _tmain(int argc, _TCHAR* argv[])
{
//判断素数
int n/*个数*/,*p/*存储输入*/;
scanf("%d",&n);
p=(int *)malloc(n*sizeof(int));
//分配内存存储瑜入
int i;
for(i=0;i<n;i++) {
//输入
scanf("%d",&p[i]);
}
int a[10010];
memset(a,0,sizeof(a));
a[0] = 2;
a[1] = 3;
i=2;
for(int j =5; i <10010; j += 2)//筛选,因为数值较大
{
if(Primer(j))
a[i++] = j;
}
for (int z=0;z<n;z++)
{
printf("%d\n",a[p[z]-1]);
}
return 0;
}