输入一个数列 a,你需要输出其中异或值为 0 的不同子段的数量。一个子段 [l,r] \ (1≤l≤r≤n) 的异或值为 a[l] \oplus a[l+1] \oplus a[l+2] \oplus \ldots\oplus a[r],其中 \oplus 符号代表异或运算。
两个子段被视为相同当且仅当其开始和结束位置均对应相同。
输入
第一行一个整数 n \ (1 \leq n≤200000),代表数列长度。
第二行 n \ (0≤a_i≤2^{30}−1) 个整数,代表数列 a。
输出
输出一个整数,代表答案。
样例
标准输入 复制文本 |
5 1 2 3 2 1 |
标准输出 复制文本 |
2 |
来源
2020 牛客寒假算法基础集训营