#include <bits/stdc++.h>
using namespace std;
const int N = 1004;
int n, a[N];
int k, sz, b;
long long v[N * N], t[N * N];
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 0; i < n; i++) scanf("%d", a + i);
  for (int i = 0; i < n; i++) {
    long long sum = 0;
    for (int j = i; j < n; j++) v[sz++] = (sum += a[j]);
  }
  for (int i = 40; i >= 0; i--) {
    b = 0;
    for (int j = 0; j < sz; j++)
      if (v[j] & (1LL << i)) t[b++] = v[j];
    if (b >= k) {
      for (int j = 0; j < b; j++) v[j] = t[j];
      sz = b;
    }
  }
  long long ans = v[0];
  for (int i = 0; i < sz; i++) ans &= v[i];
  printf("%lld\n", ans);
}
