开始: 2026-04-13 00:00:00

25-26赛季联合赛06

结束: 2026-04-16 00:00:00
当前  2026-05-09 15:02:20  类型: IOI  状态: 已经结束 

P1. 同余查询
描述

给出一个长为 n 的序列 a_1,\ldots,a_n

现有 q 次询问,每次询问给出一个正整数 m,问 a_1,\ldots,a_n 这些数除以 m 的余数有多少种。


输入

输入的第一行有两个正整数 n,q,分别表示序列长度和询问个数。

第二行有 n 个整数 a_1,\ldots,a_n,表示这个序列。

之后有 q 行,每行有一个正整数 m,表示一次询问。


输出

对于每次询问,输出一行一个正整数,表示答案。

样例

输入

6 3
3 1 4 1 5 9
5
2
20

输出

4
2
5
提示

【样例 1 解释】

- 当 m=5 时,a_1,\ldots,a_6 除以 5 的余数分别为 3,1,4,1,0,4,共有 4 种不同的余数。

- 当 m=2 时,a_1,\ldots,a_6 除以 2 的余数分别为 1,1,0,1,1,1,共有 2 种不同的余数。

- 当 m=20 时,a_1,\ldots,a_6 除以 20 的余数分别为 3,1,4,1,5,9,共有 5 种不同的余数。


【数据范围】

对于全部数据,保证 1\le n\le 30001\le q\le 10001\le m\le 30000\le a_i\le 10^9

本题共有 10 个测试点,部分测试点有特殊限制,具体信息如下:

1:n\leq 2,q\leq 1

2:n\leq 2,q\leq 1000

3,4:n\leq 300,q\leq 1

5,6,7,8:n\leq 300,q\leq 1000

9,10:n\leq 3000,q\leq 1000

提示:10^9 是十亿。


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交