#4050. 找子序列

找子序列

找子序列

题目描述

Dave 有一个长度为 nn 的非负整数序列 a1na_{1\sim n} 和一个非负整数 mm

他希望知道是否有一个 aa 的非空子序列,使得子序列中所有元素的按位与(bitwise AND)结果为 mm

换言之,他想知道是否存在一个下标序列 i1ki_{1\sim k}k1k \geq 1),满足 1i1<i2<<ikn1 \leq i_1 < i_2 < \cdots < i_k \leq n,且 ai1&ai2&&aik=ma_{i_1} \And a_{i_2} \And \cdots \And a_{i_k} = m

输入格式

第一行一个整数 TT 表示数据组数。对于每组数据:

第一行两个整数 n,mn, m

第二行 nn 个非负整数 a1na_{1\sim n}

输出格式

对于每组数据,如果存在这样的非空子序列,输出一行 Yes,否则输出一行 No

数据范围

  • 对于 30%30\% 的数据,1n201 \leq \sum n \leq 200ai,m<320 \leq a_i, m < 32
  • 对于 60%60\% 的数据,1n1031 \leq \sum n \leq 10^30ai,m<2100 \leq a_i, m < 2^{10}
  • 对于 100%100\% 的数据,1T1051 \leq T \leq 10^51n5×1051 \leq \sum n \leq 5 \times 10^50ai,m<2300 \leq a_i, m < 2^{30}

样例

样例输入

4
5 6
0 0 0 2 2
5 21
29 29 29 29 31
5 11
27 27 31 27 27
5 9
13 15 27 11 27

样例输出

No
No
No
Yes

说明

在第四组数据中,整个序列即为所求子序列。