110009 - 异或和之和

给定一个数组 Ai,分别求其每个子段的异或和,并求出它们的和。或者说,对于每组满足 1≤L≤R≤n 的 L,R,求出数组中第 L 至第 R 个元素的异或和。然后输出每组 L,R 得到的结果加起来的值。

Input

输入的第一行包含一个整数 n(1≤n≤10^5)。 第二行包含 n 个整数 Ai。(0≤Ai≤2^20)

Output

输出一行包含一个整数表示答案。

Examples

Input

5
1 2 3 4 5

Output

39
时间限制 1 秒
内存限制 128 MB
统计
上一题 下一题