#include <bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
long long n, k;
long long tmp, ans;
long long z[N];
priority_queue<long long>q;
int main(){
freopen("xor.in", "r", stdin);
freopen("xor.out", "w", stdout);
cin >> n >> k;
for(int i = 1;i <= n;i++){
cin >> z[i];
q.push(z[i]);
}
for(int i = 1;i <= n;i++){
tmp = z[i];
for(int j = i + 1;j <= n;j++){
tmp ^= z[j];
q.push(tmp);
}
}
while(k--){
ans += q.top();
q.pop();
}
cout<<ans<<endl;
}