AT_arc135_c [ARC135C] XOR to All
Description
[problemUrl]: https://atcoder.jp/contests/arc135/tasks/arc135_c
非負整数列 $ A\ =\ (A_1,\ \ldots,\ A_N) $ が与えられます。 あなたは次の操作を、何度でも行うことができます(一度も行わなくてもよいです)。
- 非負整数 $ x\in\ \{A_1,\ldots,A_N\} $ をひとつ選ぶ。
- すべての $ i $ に対して、$ A_i $ を $ A_i\oplus\ x $ に置き換える($ \oplus $ はビット単位 $ \mathrm{XOR} $ 演算を表します)。
操作後の $ \sum_{i=1}^N\ A_i $ としてありうる最大値を求めてください。
ビット単位 $ \mathrm{XOR} $ 演算とは 非負整数 $ A,\ B $ のビット単位 $ \mathrm{XOR} $ 、$ A\ \oplus\ B $ は、以下のように定義されます。
- $ A\ \oplus\ B $ を二進表記した際の $ 2^k $ ($ k\ \geq\ 0 $) の位の数は、$ A,\ B $ を二進表記した際の $ 2^k $ の位の数のうち一方のみが $ 1 $ であれば $ 1 $、そうでなければ $ 0 $ である。
例えば、$ 3\ \oplus\ 5\ =\ 6 $ となります (二進表記すると: $ 011\ \oplus\ 101\ =\ 110 $)。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ N $ $ A_1 $ $ \ldots $ $ A_N $
Output Format
操作後の $ \sum_{i=1}^N\ A_i $ としてありうる最大値を出力してください。
Explanation/Hint
### 制約
- $ 1\leq\ N\ \leq\ 3\times\ 10^{5} $
- $ 0\leq\ A_i\