#include <bits/stdc++.h>

using namespace std;

const int NMAX = 1000000;
int n, k;
int v[NMAX + 5];

bool check(int x) {
    int i = 1;
    for(int j=1; j<=k; ++j) {
        int r = 0;
        while(i <= n && r < x) {
            r |= v[i++];
        }
        if(r < x) {
            return false;
        }
    }
    return true;
}

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);
    cin >> n >> k;
    for(int i=1; i<=n; ++i) {
        cin >> v[i];
    }
    int st = 0, dr = (1 << 30) - 1, mij;
    while(st <= dr) {
        mij = (st + dr >> 1);
        if(check(mij)) {
            st = mij + 1;
        } else {
            dr = mij - 1;
        }
    }
    cout << dr;
    return 0;
}
