#369. 异或和

异或和

题目描述

小蓝有 nn 个数 aia_i,他想知道这 nn 个数中的所有数对下标的差值乘上它们的异或之后,得到的结果的和是多少。

也就是说,小蓝想要得到

$$\sum_{i=1}^{n} \sum_{j=i+1}^{n} (a_i \oplus a_j) \times (j - i) $$

的值,其中 \oplus 表示按位异或。

输入格式

输入的第一行包含一个正整数 nn

第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \cdots, a_n,相邻整数之间使用一个空格分隔。

输出格式

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

样例

3
1 2 3
8
4
9 8 7 6
118

数据范围

  • 对于 40%40\% 的评测用例,n5000n \leq 5000
  • 对于所有评测用例,1n1051 \leq n \leq 10^51ai2201 \leq a_i \leq 2^{20}