#abc147d. [abc147_d]Xor Sum 4

[abc147_d]Xor Sum 4

問題文

NN 個の整数があり、ii 番目の整数は AiA_i です。

$\\sum_{i=1}^{N-1}\\sum_{j=i+1}^{N} (A_i \\text{ XOR } A_j)$ を 109+710^9+7 で割った余りを求めてください。

textXOR\\text{ XOR } とは

整数 A,BA, B のビットごとの排他的論理和 atextXORba \\text{ XOR } b は、以下のように定義されます。

  • atextXORba \\text{ XOR } b を二進表記した際の 2k2^k (kgeq0k \\geq 0) の位の数は、A,BA, B を二進表記した際の 2k2^k の位の数のうち一方のみが 11 であれば 11、そうでなければ 00 である。

例えば、3textXOR5=63 \\text{ XOR } 5 = 6 となります (二進表記すると: 011textXOR101=110011 \\text{ XOR } 101 = 110)。

制約

  • 2leqNleq3times1052 \\leq N \\leq 3 \\times 10^5
  • 0leqAi<2600 \\leq A_i < 2^{60}
  • 入力中のすべての値は整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN A1A_1 A2A_2 ...... ANA_N

出力

$\\sum_{i=1}^{N-1}\\sum_{j=i+1}^{N} (A_i \\text{ XOR } A_j)$ を 109+710^9+7 で割った余りを出力せよ。


入力例 1

3
1 2 3

出力例 1

6

$(1\\text{ XOR } 2)+(1\\text{ XOR } 3)+(2\\text{ XOR } 3)=3+2+1=6$ となります。


入力例 2

10
3 1 4 1 5 9 2 6 5 3

出力例 2

237

入力例 3

10
3 14 159 2653 58979 323846 2643383 27950288 419716939 9375105820

出力例 3

103715602

和を 109+710^9+7 で割った余りを出力してください。