#include <bits/stdc++.h>
using namespace std;

int n,k,maxi=0,ans;
int v[100005];

void backtracking(int cnt,int last) {
    if (cnt>k) return;
    int prev=ans;
    int sum;
    for (int i=last+1; i<=n-(k-cnt); i++) {
        if (i==last+1) sum=v[i];
        else sum=(sum | v[i]);
        if (cnt==1) ans=sum;
        else ans=(ans & sum);
        if (ans>maxi && cnt==k && i==n) maxi=ans;
        backtracking(cnt+1,i);
        ans=prev;
    }
}

int main() {
    cin>>n>>k;
    for (int i=1; i<=n; i++) {
        cin>>v[i];
    }
    backtracking(1,0);
    cout<<maxi;
}
