2239 - 【模板】线性筛素数
Description

提示:如果你使用  `cin` 来读入,建议使用 `std::ios::sync_with_stdio(0)` 来加速。

提示:如果你使用  `scanf` `printf` 来读入,建议不使用 `std::ios::sync_with_stdio(0)` 来加速并和cout混用,因为会造成输出错位。

如题,给定一个范围 n,有 q 个询问,每次输出第 k 小的素数。


Input

第一行包含两个正整数 n,q,分别表示查询的范围和查询的个数。

接下来 q 行每行一个正整数 k,表示查询第 k 小的素数。


Output

为了防止抄袭网上代码,第一行输出n;

接下来输出 q 行,每行一个正整数表示答案。

Examples

Input

100 5
1
2
3
4
5

Output

100
2
3
5
7
11
Hint

对于 100\% 的数据,n = 10^81 \le q \le 10^6,保证查询的素数不大于 n

题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 102
通过次数 15