atcoder#ARC098B. [ABC098D] Xor Sum 2

[ABC098D] Xor Sum 2

Score : 500500 points

Problem Statement

There is an integer sequence AA of length NN.

Find the number of the pairs of integers ll and rr (1lrN1 \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, xorxor denotes the bitwise exclusive OR.

Definition of XOR

The XOR of integers c1,c2,...,cmc_1, c_2, ..., c_m is defined as follows:

  • Let the XOR be XX. In the binary representation of XX, the digit in the 2k2^k's place (0k0 \leq k; kk is an integer) is 11 if there are an odd number of integers among c1,c2,...cmc_1, c_2, ...c_m whose binary representation has 11 in the 2k2^k's place, and 00 if that number is even.

For example, let us compute the XOR of 33 and 55. The binary representation of 33 is 011011, and the binary representation of 55 is 101101, thus the XOR has the binary representation 110110, that is, the XOR is 66.

Constraints

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0Ai<2200 \leq A_i < 2^{20}
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN

A1A_1 A2A_2 ...... ANA_N

Output

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

4
2 5 4 6
5

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

9
0 0 0 0 0 0 0 0 0
45
19
885 8 1 128 83 32 256 206 639 16 4 128 689 32 8 64 885 969 1
37