#P0322. 区间异或和计数

区间异或和计数

题目描述

小C现在拿到了一个长度为 nn 的数组以及一个整数 kk,他现在想知道,存在多少个区间,满足区间内所有的数异或运算之后值为 kk。

更形式化的说,就是找满足区间 [l,r][l,r] 且 al⊕al+1⊕...⊕ar=ka_l \oplus a_l+1 \oplus ... \oplus a_r = k 的区间数量。

输入格式

第一行输入两个整数 nn 和 kk,分别表示数组大小以及对应的值 kk。

接下来一行 nn 个以空格隔开的数字。

输出格式

输出一个整数:满足条件的区间数量。

样例

4 1
1 1 1 1
6

提示

满足条件的区间有 [1,1],[1,3],[2,2],[2,4],[3,3],[4,4][1,1],[1,3],[2,2],[2,4],[3,3],[4,4]。

数据范围

前 30%30\% 的数据,0≤n,k,ai≤1000\le n,k,a_i \le100 。

前 60%60\% 的数据,0≤n,k,ai≤50000 \le n,k,a_i \le 5000。

前 100%100\% 的数据, 0≤n,k,ai≤1060 \le n,k,a_i \le 10^6。