OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题 D: 异或运算(hard verson)

问题 D: 异或运算(hard verson)

时间限制: 1 Sec  内存限制: 256 MB
提交: 33  解决: 9
[提交] [状态] [讨论版] [命题人:]

题目描述

经过上一题你已经大致了解异或运算了,现在cbyyx给你一个进阶版本的题目,给定一个n以及一个长度为n的序列a,对于所有i>=1&&i<=n,j>=i&&j<=n,求所有a[i]^a[j]的和。

输入

第一行一个数字n(n>=1&&n<=2e5),第二行n个数表示长度为n的序列,保证序列中每个数为非负整数并且小于1e6。

输出

一行一个数表示答案。

样例输入 Copy

3
1 2 4

样例输出 Copy

14

提示

对于i=1,j>=1&&j<=3,a[1]^a[1]=0,a[1]^a[2]=3,a[1]^a[3]=5。

对于i=2,j>=2&&j<=3,a[2]^a[2]=0,a[2]^a[3]=6。

对于i=3,j>=3&&j<=3,a[3]^a[3]=0。