#include<bits/stdc++.h>
using namespace std;
const unsigned int MAXN=5e5+10;
int main(){
int n,m;
cin>>n>>m;
unsigned long long a[MAXN];
for(int i=0;i<n;i++)
cin>>a[i];
unsigned long long ans=(1LL<<61)-1;
for (int i=60;i>=0;i--){
long long t=ans&~(1LL<<i);
int cnt=0;
long long cur=0;
for(int j=0;j<n;j++){
cur^=a[j];
if((cur&t)==cur){
cnt++;
cur=0;
if(cnt>=m)
break;
}
}
if(cnt>=m&&cur==0)
ans=t;
}
cout<<ans;
return 0;
}