#abc117d. [abc117_d]XXOR

[abc117_d]XXOR

問題文

NN 個の非負整数 A1,A2,...,ANA_1, A_2, ..., A_N および非負整数 KK が与えられます。

00 以上 KK 以下の整数 XX に対して、f(X)=(Xf(X) = (X XOR A1)A_1) ++ (X(X XOR A2)A_2) ++ ...... ++ (X(X XOR AN)A_N) とします。

ここで、非負整数 a,ba, b に対して aa XOR bbaabb のビットごとの排他的論理和を表します。

ff の最大値を求めてください。

XOR とは

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

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

例えば、33 XOR 5=65 = 6 となります (二進数表記すると: 011011 XOR 101=110101 = 110)。

制約

  • 入力は全て整数である
  • 1leqNleq1051 \\leq N \\leq 10^5
  • 0leqKleq10120 \\leq K \\leq 10^{12}
  • 0leqAileq10120 \\leq A_i \\leq 10^{12}

入力

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

NN KK A1A_1 A2A_2 ...... ANA_N

出力

ff の最大値を出力せよ。


入力例 1

3 7
1 6 3

出力例 1

14

f(4)=(4f(4) = (4 XOR 1)+(41) + (4 XOR 6)+(46) + (4 XOR 3)=5+2+7=143) = 5 + 2 + 7 = 14 が最大です。


入力例 2

4 9
7 4 0 3

出力例 2

46

入力例 3

1 0
1000000000000

出力例 3

1000000000000