编程题
### 题目描述
欢迎来到异或王国,这是一个特殊的王国,对于一个数组它的价值并非所有数相加,而是所有数异或得到的值。
当然对于某些神奇的数组来说值可能是一样的,给定一个长度为 $n$ 的数组 $a$ ,请问有多少个子数组是神奇数组。
换句话说,在数组 $a$ 中存在多少对下标 $l$ 和 $r (1 \leq l \leq r \leq n)$ 满足:
$$
a_l \oplus a_{l+1} \oplus...\oplus a_r=a_l+a_{l+1}+...+a_r
$$
### 输入格式
第一行输入一个整数 $n$ ,表示数组 $a$ 的长度。
第二行输入 $n$ 个整数,表示数组 $a$ 的值。
数据保证 $1 \leq n \leq 2 \times 10^5$,$0 \leq a_i < 2^{20}$。
### 输出格式
输出一个整数表示答案。
### 样例输入
```
5
1 2 3 4 5
```
### 样例输出
```
7
```
### 说明
对于样例,满足条件的下标有 $(1,1),(1,2),(2,2),(3,3),(3,4),(4,4),(5,5)$,总共 $7$ 对。