#arc098b. [arc098_b]Xor Sum 2

[arc098_b]Xor Sum 2

問題文

長さ NN の整数列 AA があります。

次の条件を満たす整数 ll, rr ( 1leqlleqrleqN1 \\leq l \\leq r \\leq N ) の組の個数を求めてください。

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

xorの説明

整数 c1,c2,...,cmc_1, c_2, ..., c_mxorxor は以下のように定義されます。

  • xorxor の値を XX とおく。XX22 進数表記したときの 2k2^k ( 0leqk0 \\leq k, kk は整数 ) の位の値は、c1,c2,...cmc_1, c_2, ...c_m のうち、22 進数表記したときの 2k2^k の位の値が 11 となるものが奇数個ならば 11、偶数個ならば 00 となる。

例えば、3355xorxor の値は、3322 進数表記が 0110115522 進数表記が 101101 のため、22 進数表記が 11011066 となります。

制約

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 0leqAi<2200 \\leq A_i < 2^{20}
  • 入力はすべて整数である

入力

入力は以下の形式で標準入力から与えられる。

NN A1A_1 A2A_2 ...... ANA_N

出力

条件を満たす整数 ll, rr ( 1leqlleqrleqN1 \\leq l \\leq r \\leq N ) の組の個数を出力せよ。


入力例 1

4
2 5 4 6

出力例 1

5

明らかに、(l,r)=(1,1),(2,2),(3,3),(4,4)(l,r)=(1,1),(2,2),(3,3),(4,4) は条件を満たします。 また、(l,r)=(1,2)(l,r)=(1,2) の場合、A1xorA2=A1+A2=7A_1\\ xor\\ A_2 = A_1\\ +\\ A_2 = 7 となるので、これも条件を満たします。 ほかに条件を満たす組はないので、答えは 55 になります。


入力例 2

9
0 0 0 0 0 0 0 0 0

出力例 2

45

入力例 3

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

出力例 3

37