#include <bits/stdc++.h>
using namespace std;
const int maxn = 5760000;
int prime[maxn], v[100000000], a[1000005];
void lprime(int n)
{
memset(v, 0, sizeof(v));
int cnt = 0;
for (int i = 2; i <= n; i++)
{
if (v[i] == 0)
{
v[i] = i;
prime[++cnt] = i;
}
for (int j = 1; j <= cnt; j++)
{
if (prime[j] > v[i] || prime[j] > n / i)
{
break;
}
v[i * prime[j]] = prime[j];
}
}
return;
}
int main()
{
int n, q;
scanf("%d%d", &n, &q);
for (int i = 0; i < q; i++)
{
scanf("%d", &a[i]);
}
lprime(n);
for (int i = 0; i < q; i++)
{
printf("%d\n", prime[a[i]]);
}
return 0;
}