题目描述
小雷有一台特殊的电脑,这台电脑有一个mmm位的寄存器,能够存储一个mmm位的二进制数。换句话说,这台电脑可以存储一个从000到2m−12^m-12m−1之间的任何非负整数。
小雷还有一组nnn个非负整数的列表(中每一个数都严格小于2m2^m2m)。他想要找出这个列表中任意两个不同的数(下标不同就行),将它们放入电脑中进行同或运算后,得到的结果是所有可能的同或结果中最大的那个。
同或运算解释
同或运算(XNOR)是一种逻辑运算,它接受两个二进制位作为输入,并根据以下规则产生输出:
• 如果两个输入位相同,则输出为111;
• 如果两个输入位不同,则输出为000。
对于两个整数AAA和BBB,它们的同或结果是通过将AAA和BBB转换为二进制表示,然后对每个位进行同或运算得到的。
输入
第一行输入 nnn mmm (2≤n≤200000,1≤m≤30)( 2\leq n\leq200000,1 \leq m \leq 30 )(2≤n≤200000,1≤m≤30)
接下来是n个整数a1,a2,a3……ana_1,a_2,a_3……a_na1,a2,a3……an (保证aia_iai严格小于2m2^m2m)
输出
输出一个整数,这个整数是在这个数组任意两个数同或的最大值
样例输入 Copy
4 3
7
5
1
3
样例输出 Copy
5
提示
1在这台电脑中为001,3在这台电脑中为011,同或为101=5。