说明
给定一个长度为 n 的序列 [a1,a2⋯an],其中每个数都是正整数。
你需要找出有多少对 (i,j),1≤i≤j≤n 且 $\gcd(a_i,a_{i+1}...a_j) \operatorname{xor} (a_i \operatorname{or} a_{i+1} \operatorname{or} \cdots \operatorname{or} a_j)=k$,其中 xor 表示二进制异或,or 表示二进制或。
输入格式
第一行两个整数 n,k。
第二行 n 个整数 a1,a2⋯an。
输出格式
输出合法的 (i,j) 的对数。
5 6
2 4 3 4 2
8
提示
- 对于 30% 的数据,n≤500。
- 对于 60% 的数据,n≤100000。
- 对于 100% 的数据,1≤n,ai≤500000。