#P1810. 与或替换

与或替换

题面描述

给定 nn 个非负整数 a1,,ana_1,\cdots,a_n

你可以进行如下操作:选择两个不同的下标 i,ji,j 满足 1i,jn1\leq i,j\leq n,并将 $a_i\gets a_i\ \mathsf{AND}\ a_j,\ a_j\gets a_i\ \mathsf{OR}\ a_j$,两个赋值同时进行。AND 是按位与,OR 是按位或。

你可以进行任意次操作。求操作后所有数的平方和的最大值,即 maxai2\max \sum a_i^2

输入格式

第一行一个整数 n (1n2×105)n\ (1\leq n\leq 2\times 10^5)

第二行 nn 个整数 a1,,an (0ai<220)a_1,\cdots,a_n\ (0\leq a_i<2^{20})

输出格式

输出一行一个整数表示答案,即操作后所有数的平方和的最大值。

样例 #1

样例输入 #1

1
123

样例输出 #1

15129

样例 #2

样例输入 #2

3
1 3 5

样例输出 #2

51

样例 #3

样例输入 #3

2
349525 699050

样例输出 #3

1099509530625

提示

第一个样例不能进行操作,所以答案是 1232 123^2 .

第二个样例我们对 3 5 进行一次操作,得到 1,1,7 1, 1, 7 , 最后的答案是 12+12+72=51 1^2 + 1^2 + 7^2 = 51 .