CF1466E Apollo versus Pan
题目描述
只有少数人知道,Pan 和 Apollo 不仅仅在争夺最伟大音乐家的称号。几千年后,他们还在数学(或者说快速计算)方面相互挑战。他们要解决的任务如下:
给定 $x_1, x_2, \ldots, x_n$ 这 $n$ 个非负整数的序列。请计算如下值:
$$
\sum_{i=1}^n \sum_{j=1}^n \sum_{k=1}^n (x_i \,\&\, x_j) \cdot (x_j \,|\, x_k)
$$
其中,$\&$ 表示[按位与](https://en.wikipedia.org/wiki/Bitwise_operation#AND),$|$ 表示[按位或](https://en.wikipedia.org/wiki/Bitwise_operation#OR)。
Pan 和 Apollo 可以在几秒钟内解决这个问题。你能做到吗?为了方便,请将答案对 $10^9 + 7$ 取模。
输入格式
输入的第一行包含一个整数 $t$($1 \leq t \leq 1000$),表示测试用例的数量,接下来是 $t$ 个测试用例。
每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 5 \cdot 10^5$),表示序列的长度。第二行包含 $n$ 个非负整数 $x_1, x_2, \ldots, x_n$($0 \leq x_i < 2^{60}$),表示序列中的元素。
所有测试用例中 $n$ 的总和不超过 $5 \cdot 10^5$。
输出格式
输出 $t$ 行,第 $i$ 行输出第 $i$ 个测试用例的答案。
说明/提示
由 ChatGPT 4.1 翻译