编程题
### 题目描述
给定一个数组 $A_i$,分别求其每个子段的异或和,并求出它们的和。或者说,对于每组满足 $1 \leq L \leq R \leq n$ 的 $L$, $R$,求出数组中第 $L$ 至第 $R$ 个元素的异或和。然后输出每组 $L$, $R$ 得到的结果加起来的值。
### 输入格式
输入的第一行包含一个整数 $n$。
第二行包含 $n$ 个整数 $A_i$,相邻整数之间使用一个空格分隔。
### 输出格式
输出一行包含一个整数表示答案。
### 样例输入
```
5
1 2 3 4 5
```
### 样例输出
```
39
```
### 评测用例规模与约定
对于 $30$% 的评测用例,$n \leq 300$;
对于 $60$% 的评测用例,$n \leq 5000$;
对于所有评测用例,$1 \leq n \leq 10^5$,$0 \leq A_i \leq 2^{20}$。