loj#P2685. 「BalticOI 2013」Brunhilda 的生日 Brunhilda’s Birthday

「BalticOI 2013」Brunhilda 的生日 Brunhilda’s Birthday

题目描述

给定 mm 个素数和 QQ 个询问。每个询问有 nn 个人,每次操作可以任意选择其中的一个素数 pp(素数可以重复使用),然后去掉剩余人数 modp\bmod p 个人。对于每个询问,我们想知道,至少需要多少步操作才能去掉所有人。

输入格式

第一行:素数个数 mm 和询问个数 QQ1m100 000,1Q100 0001 \le m \le 100\ 000, 1 \le Q \le 100\ 000

第二行:mm 个素数 pip_i2pi10 000 0002 \le pi \le 10\ 000\ 000

下面 QQ 行:nn1n10 000 0001 \le n \le 10\ 000\ 000

输出格式

QQ 行答案。如果无解,输出 oo

2 2
2 3
5
6
3
oo

数据范围与提示

对于 20%20\% 的测试数据,m,nj,Q10 000m, n_j, Q \le 10\ 000

对于另外 20%20\% 的测试数据,Q=1Q = 1

对于所有数据,$1 \le m \le 100\ 000, 1 \le Q \le 100\ 000, 2 \le p_i \le 10\ 000\ 000, 1 \le n_j \le 10\ 000\ 000$.

翻译来自 abcdabcd987。