#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>
bool num[100000005] = { 1, 1 };
int num0[5761460] = { 0 };
int read()
{
int num = 0;
char ch = getchar();
while (ch < 48 || 57 < ch)
{
ch = getchar();
}
while (48 <= ch && ch <= 57)
{
num = num * 10 + ch - 48;
ch = getchar();
}
return num;
}
void write(int num)
{
if (num > 9)
{
write(num / 10);
}
putchar(num % 10 + 48);
}
int main()
{
int n = read(), q = read();
int tmp = sqrt(n), sit = 0;
for (int i = 2; i <= tmp; i++)
{
if (!num[i])
{
long long int j = i * i;
for (; j <= n; j += i)
{
if (!num[j])
{
num[j] = 1;
}
}
}
}
for (int i = 2; i <= n; i++)
{
if (!num[i])
{
num0[++sit] = i;
}
}
for (int i = 1; i <= q; i++)
{
write(num0[read()]);
putchar(10);
}
return 0;
}