#CF1946D. 生日礼物

    ID: 6569 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>搜索枚举其他构造贪心模拟线性代数位运算*1900

生日礼物

D. 生日礼物

单个测试点时间限制22单个测试点内存限制256256 兆字节

亚里克的生日快到了,马克准备送给他一个长度为 nn 的数组 aa

马克知道亚里克非常喜欢位运算,而且他有一个最喜欢的数字 xx。 于是马克想找到最大的 kk,满足可以选出如下的区间对:

[l1,r1],[l2,r2],,[lk,rk][l_1,r_1],\,[l_2,r_2],\dots,[l_k,r_k]

使得:

  1. l1=1l_1 = 1
  2. rk=nr_k = n
  3. 对所有 i=1ki=1\dots k,有 liril_i \le r_i
  4. 对所有 i=1k1i=1\dots k-1,有 ri+1=li+1r_i+1 = l_{i+1}
  5. 总按位或满足:
$$(a_{l_1} \oplus a_{l_1+1} \oplus \dots \oplus a_{r_1}) \;\mid\; (a_{l_2} \oplus a_{l_2+1} \oplus \dots \oplus a_{r_2}) \;\mid\; \cdots \;\mid\; (a_{l_k} \oplus \dots \oplus a_{r_k}) \;\le\; x $$

其中 \oplus 表示按位异或,\mid 表示按位或。

如果不存在这样的 kk,输出 1-1


输入格式

输入包含多组测试数据。

第一行一个整数 tt1t1041\le t\le 10^4),表示测试用例数量。

每组测试用例: 第一行两个整数 nnxx1n105,  0x<2301\le n\le 10^5,\; 0\le x<2^{30})。 第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n0ai<2300\le a_i<2^{30})。

保证所有测试用例的 nn 之和不超过 10510^5


输出格式

对于每组测试用例,输出一行一个整数,表示最大的合法 kk;若无解则输出 1-1


样例输入

8
3 1
1 2 3
2 2
1 1
2 2
1 3
2 3
0 0
3 2
0 0 1
4 2
1 3 3 7
2 2
2 3
5 0
0 1 2 2 1

样例输出

2
2
1
2
3
-1
1
2