P25055 [AtCoder] Xor Sum 2
普及+
题目描述

Problem Statement

There is an integer sequence A of length N.
Find the number of the pairs of integers l and $r (1 \leq l \leq r \leq N)$ that satisfy the following condition:

  • A_l\ xor\ A_{l+1}\ xor\ ...\ xor\ A_r = A_l\ +\ A_{l+1}\ +\ ...\ +\ A_r

Here, xor denotes the bitwise exclusive OR.

Definition of XOR
The XOR of integers c_1, c_2, ..., c_m is defined as follows:

  • Let the XOR be X. In the binary representation of X, the digit in the 2^k'$s place (0 \leq k; k$ is an integer) is 1 if there are an odd number of integers among c_1, c_2, ...c_m whose binary representation has 1 in the 2^k's place, and 0 if that number is even.

For example, let us compute the XOR of 3 and 5. The binary representation of 3 is 011, and the binary representation of 5 is 101, thus the XOR has the binary representation 110, that is, the XOR is 6.

Input

Input is given from Standard Input in the following format:
N
A_1 A_2 ... A_N

Output

Print the number of the pairs of integers l and $r (1 \leq l \leq r \leq N)$ that satisfy the condition.

Constraints

  • $1 \leq N \leq 2 \times 10^5$
  • $0 \leq A_i < 2^{20}$
  • All values in input are integers.

Sample Input 1

4
2 5 4 6

Sample Output 1

5

(l,r)=(1,1),(2,2),(3,3),(4,4) clearly satisfy the condition.
(l,r)=(1,2) also satisfies the condition, since A_1\ xor\ A_2 = A_1\ +\ A_2 = 7.
There are no other pairs that satisfy the condition, so the answer is 5.

Sample Input 2

9
0 0 0 0 0 0 0 0 0

Sample Output 2

45

Sample Input 3

19
885 8 1 128 83 32 256 206 639 16 4 128 689 32 8 64 885 969 1

Sample Output 3

37

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
4 2 5 4 6
样例输出
5