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

const int MAXN=20, MAXMASK=(1<<MAXN);
int n, k;
int a[MAXN];

int main()
{
    cin>>n>>k;

    for(int i=0; i<n; i++) cin>>a[i];

    int ans=0;
    for(int mask=1; mask<(1<<n); mask++)
    {
        vector<int> ones;
        for(int i=0; i<n; i++)
        {
            if((mask&(1<<i))!=0)
            {
                ones.push_back(i);
            }
        }
        if(ones.size()!=k) continue;

        int cor=0;
        vector<int> answers;
        for(int i=0; i<n; i++)
        {
            cor|=a[i];
            if((mask&(1<<i))!=0)
            {
                answers.push_back(cor);
                cor=0;
            }
        }

        int And=answers[0];
        for(int i=1; i<answers.size(); i++)
        {
            And&=answers[i];
        }
        ans=max(ans, And);
    }

    cout<<ans<<'\n';

    return 0;
}
