#arc146b. [arc146_b]Plus and AND

[arc146_b]Plus and AND

問題文

長さ NN の非負整数列 A=(A1,A2,dots,AN)A=(A_1,A_2,\\dots,A_N) が与えられます。あなたは以下の操作を MM 回以下行うことができます。(11 回も行わなくてもよいです。)

  • 1leileN1 \\le i \\le N を満たす整数 ii を選び、AiA_i11 増やす。

その後、AA の中から KK 要素を選びます。

選んだ KK 要素のビット単位 mathrmAND\\mathrm{AND} の最大値を求めてください。

ビット単位 mathrmAND\\mathrm{AND} 演算とは

整数 A,BA, B のビット単位 mathrmAND\\mathrm{AND}AmathrmANDBA\\ \\mathrm{AND}\\ B は以下のように定義されます。

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

例えば、3mathrmAND5=13\\ \\mathrm{AND}\\ 5 = 1 となります (二進表記すると: 011mathrmAND101=001011\\ \\mathrm{AND}\\ 101 = 001)。
一般に kk 個の整数 p1,p2,p3,dots,pkp_1, p_2, p_3, \\dots, p_k のビット単位 mathrmAND\\mathrm{AND} は $(\\dots ((p_1\\ \\mathrm{AND}\\ p_2)\\ \\mathrm{AND}\\ p_3)\\ \\mathrm{AND}\\ \\dots\\ \\mathrm{AND}\\ p_k)$ と定義され、これは p1,p2,p3,dotspkp_1, p_2, p_3, \\dots p_k の順番によらないことが証明できます。

制約

  • 1leKleNle2times1051 \\le K \\le N \\le 2 \\times 10^5
  • 0leM<2300 \\le M < 2^{30}
  • 0leAi<2300 \\le A_i < 2^{30}
  • 入力は全て整数である。

入力

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

NN MM KK A1A_1 A2A_2 dots\\dots ANA_N

出力

答えを出力せよ。


入力例 1

4 8 2
1 2 4 8

出力例 1

10

以下のような手順を踏むことで 選んだ 22 要素の mathrmAND\\mathrm{AND} として 1010 を達成できます。

  • A3A_3 を選ぶ操作を 66 回行う。A3=10A_3 = 10 となる。
  • A4A_4 を選ぶ操作を 22 回行う。A4=10A_4 = 10 となる。
  • A3,A4A_3,A_4 を選ぶ。22 要素の mathrmAND\\mathrm{AND}1010 である。

選んだ 22 要素の mathrmAND\\mathrm{AND}1111 以上にすることはできないので、解は 1010 です。


入力例 2

5 345 3
111 192 421 390 229

出力例 2

461