#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+7;
int a[maxn];
int n,k;
bool check(int mid) {
int br=0;
int curr=0;
for(int i=0; i<n; i++) {
     curr|=a[i];
     bool nz=true;
     for(int j=0; j<10; j++) {
      bool bit=(mid&(1<<j));
      bool bit2=(curr&(1<<j));
      if(bit>bit2) {
          nz=false;
          break;
      }
     }
      if(nz) {
          curr=0;
          br++;
      }
}
return br>=k;
}


int main() {

cin>>n>>k;
for(int i=0; i<n; i++) {
      cin>>a[i];
}
for(int i=10; i>=0; i--) {
       if(check(i)) {
           cout<<i<<endl;
           return 0;
       }
}
return 0;
}
