#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    ll n,k;
    cin>>n>>k;
    vector<ll>v(n+1);
    vector<vector<ll>>s(n+1,vector<ll>(n+1)),dp(n+1,vector<ll>(k+1));
    for(int i=1;i<=n;i++)
    {
        cin>>v[i];
        s[i][i]=v[i];
    }
    ll h=0;
    for(int i=1;i<=n;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            if(j==i+1)
                s[i][j]=v[i]|v[j];
            else
                s[i][j]=s[i][j-1]|v[j];
        }
        h|=v[i];
        dp[i][1]=h;
    }
    for(int i=1;i<=n;i++)
    {
        for(int l=1;l<=n;l++)
        {
            for(int j=1;j<i;j++)
            {
                dp[i][l]=max(dp[i][l],dp[j][l-1]&s[j+1][i]);
            }
        }
    }
    cout<<dp[n][k];
}
