#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次(可以是零次):

  • 选择一个整数ii,使得1leileN1 \\le i \\le N,并将AiA_i11

然后,你需要选择KKAA中的元素。

找出你所选择元素的按位 mathrmAND\\mathrm{AND} 运算的最大可能值。

什么是按位 rmAND{\\rm AND} 运算?

非负整数 AABB 的按位 rmAND{\\rm AND} 运算,记作 AmathrmANDBA\\ \\mathrm{AND}\\ B,定义如下:

  • 当以二进制表示时,AmathrmANDBA\\ \\mathrm{AND}\\ B 的第 2k2^k 位(kgeq0k \\geq 0)的数字为 11,当且仅当 AABB 在该位都是 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 的按位 rmAND{\\rm AND} 运算定义为 $(\\dots ((p_1\\ \\mathrm{AND}\\ p_2)\\ \\mathrm{AND}\\ p_3)\\ \\mathrm{AND}\\ \\dots\\ \\mathrm{AND}\\ p_k)$。我们可以证明,这个值不依赖于 p1,p2,p3,dots,pkp_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

如果按照以下操作,你所选择元素的按位 mathrmAND\\mathrm{AND} 运算的结果将是 1010

  • 将操作应用于 A3A_3 六次。现在,A3=10A_3 = 10
  • 将操作应用于 A4A_4 两次。现在,A4=10A_4 = 10
  • 选择 A3A_3A4A_4,它们的按位 mathrmAND\\mathrm{AND} 结果为 1010

没有办法选择两个按位 mathrmAND\\mathrm{AND} 结果大于 1010 的元素,所以答案是 1010


示例输入2

5 345 3
111 192 421 390 229

示例输出2

461