今天是 Liliana 的生日,她邀请了所有的朋友来庆祝!为了让派对更加特别,她计划准备多个蛋糕,每个蛋糕都用各种配料(如草莓、杏仁或果仁糖)进行装饰。Liliana 有 $N$ 种配料,其中第 $i$ 种配料她有 $a_i$ 个。
蛋糕的美味度由其上出现次数最多的配料的出现次数决定。例如:
- 配料为 $\{1, 1, 2, 2, 2\}$ 的蛋糕美味度为 $3$,因为配料 $2$ 出现了三次。
- 配料为 $\{0, 0, 1, 1, 2\}$ 的蛋糕美味度为 $2$,因为配料 $0$ 和 $1$ 都出现了两次,且没有其他配料出现次数更多。
Liliana 想要制作若干个美味度相同的蛋糕,并且将所有配料用完,不留任何剩余。她还没有决定要制作多少个蛋糕。她正在考虑 $Q$ 个方案,每个方案指定了一个特定的蛋糕数量 $K_j$。对于每个方案,请确定是否可以将她所有的配料分配到恰好 $K_j$ 个蛋糕中,使得所有蛋糕的美味度都相同。每个蛋糕可以有不同数量的配料,但每个蛋糕必须至少分到一种配料。请注意,不同的蛋糕可以包含不同种类的配料。
输入格式
输入的第一行包含两个整数 $N$ 和 $Q$,分别表示配料种类的数量和方案的数量。
第二行包含 $N$ 个整数 $a_0, a_1, \dots, a_{N-1}$,其中 $a_i$ 表示第 $i$ 种配料的数量。
接下来的 $Q$ 行,每行包含一个整数 $K_j$,表示方案 $j$ 中的蛋糕数量。
输出格式
输出 $Q$ 行。如果可以将所有配料分配到恰好 $K_j$ 个美味度相同的蛋糕中,则第 $j$ 行输出 YES,否则输出 NO。
数据范围
- $1 \le N, Q \le 100\,000$。
- $1 \le a_i \le 100\,000$。
- $1 \le K_j \le 10^{18}$。
子任务
您的程序将在分为若干个子任务的测试用例上进行测试。要获得某个子任务的分数,您必须正确解决其中包含的所有测试。
- 子任务 0 [0 分]:样例。
- 子任务 1 [9 分]:$N = 1$。
- 子任务 2 [22 分]:$Q = 1$ 且 $K_j = 2$。
- 子任务 3 [24 分]:$Q \le 5$,$N \le 1000$,$a_i \le 1000$。
- 子任务 4 [24 分]:$Q \le 5$。
- 子任务 5 [21 分]:无附加限制。
样例
输入样例 1
4 5 2 5 1 1 1 2 3 4 5
输出样例 1
YES NO YES NO YES
说明
在第一个样例中,Liliana 有四种配料:两种 $0$ 号配料(用绿色三角形表示),五种 $1$ 号配料(用黄色星星表示),一种 $2$ 号配料(用橙色圆形表示),以及一种 $3$ 号配料(用蓝色正方形表示)。
对于 $K = 1$,Liliana 可以制作一个美味度为 $5$ 的蛋糕,将所有配料放在同一个蛋糕上,如下所示:
- 蛋糕 1:$\{0, 0, 1, 1, 1, 1, 1, 2, 3\}$(配料 $1$ 出现了五次)。
图 1:$K = 1$ 时的样例分配方案。
对于 $K = 2$,Liliana 无法将所有配料分配到两个美味度相同的蛋糕中。
对于 $K = 3$,Liliana 可以制作 $3$ 个蛋糕,每个蛋糕的美味度为 $2$,配料分配如下:
- 蛋糕 1:$\{0, 0, 1\}$(配料 $0$ 出现了两次)。
- 蛋糕 2:$\{1, 1, 2\}$(配料 $1$ 出现了两次)。
- 蛋糕 3:$\{1, 1, 3\}$(配料 $1$ 出现了两次)。
图 2:$K = 3$ 时的样例分配方案。
对于 $K = 4$,Liliana 无法将所有配料分配到四个美味度相同的蛋糕中。
对于 $K = 5$,Liliana 可以制作五个蛋糕,每个蛋糕的美味度为 $1$,配料分配如下:
- 蛋糕 1:$\{0, 1\}$(配料 $0$ 和 $1$ 各出现一次)。
- 蛋糕 2:$\{0, 1\}$(配料 $0$ 和 $1$ 各出现一次)。
- 蛋糕 3:$\{1\}$(配料 $1$ 出现一次)。
- 蛋糕 4:$\{1, 2\}$(配料 $1$ 和 $2$ 各出现一次)。
- 蛋糕 5:$\{1, 3\}$(配料 $1$ 和 $3$ 各出现一次)。
图 3:$K = 5$ 时的样例分配方案。
输入样例 2
1 1 4 2
输出样例 2
YES
输入样例 3
5 3 1 1 1 1 1 1 1000000000000000000 5
输出样例 3
YES NO YES