踩不出足迹
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

踩不出足迹

希望你在看这道题时,不要成为骄傲无知的现代人。

现代人有一串足迹 a,定义为长度为 n 的数列,每个数字是一个 k 位的二进制数,同时保证

定义以下操作:
令第一次得到的结果为 a_1。你需要从第二个数开始,每次可以选择与上一次得到的结果异或或者同或起来。

例:k=3时   0(000)同或2(010)=5(101)  

最终结果的最大值定义为足迹的密码。
现代人想请你帮忙求出这个密码。

输入描述:

第一行两个数,n,k。 
接下来一行共 n 个数,代表 a。

输出描述:

仅一个数,最大结果。
示例1

输入

复制
3 2
3 1 2

输出

复制
3

说明

对于 100\% 的数据:1\lt n\le10^6,1\le k\le64