题目描述
我们说,当对于 S 中的任意两个元素 a,binS(aneqb),b 都不是 a 的倍数时,集合 S 是 良好的。
给定一个包含 N 个介于 1 到 2M(包括 1 和 2M)之间的整数的集合 S=lbraceA1,A2,dots,ANrbrace。
对于每个 i=1,2,dots,N,确定是否存在一个包含 Ai 的大小为 M 的良好子集。
约束条件
- MleqNleq2M
- 1leqMleq3times105
- 1leqA1<A2<dots<ANleq2M
- 输入中的所有值均为整数。
输入
输入以标准格式给出,格式如下:
N M
A1 A2 dots AN
输出
输出 N 行。第 i 行应该输出 Yes
如果存在一个包含 Ai 的大小为 M 的良好子集,否则输出 No
。
示例输入 1
5 3
1 2 3 4 5
示例输出 1
No
Yes
Yes
Yes
Yes
显然,只包含 A1=1 的良好子集是 lbrace1rbrace,它只有一个元素,因此对于 i=1 的答案是 No
。
包含 A2=2 的良好子集是 lbrace2,3,5rbrace,因此对于 i=2 的答案是 Yes
。
示例输入 2
4 4
2 4 6 8
示例输出 2
No
No
No
No
示例输入 3
13 10
2 3 4 6 7 9 10 11 13 15 17 19 20
示例输出 3
No
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No