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