import std.stdio;
import std.conv;
import std.string;
import std.typecons;
import std.algorithm;
import std.array;
import std.range;
import std.math;
import std.regex : regex;
import std.container;
import std.bigint;
import std.ascii;


void main()
{
  int n, k;
  readf("%s %s\n", &n, &k);
  auto a = readln.chomp.split.to!(int[]);
  int[int] cnt;
  foreach (i; 0..n) {
    int sum;
    foreach (j; i..n) {
      sum += a[j];
      cnt[sum]++;
    }
  }
  int res;

  void calc (int m, int and) {
    if (m == k) {
      res = max(res, and);
      return;
    }
    foreach (k; cnt.keys) {
      if (!cnt[k]) continue;
      cnt[k]--;
      if (m) {
        calc(m+1, and & k);
      } else {
        calc(m+1, k);
      }
      cnt[k]++;
    }
  }

  calc(0, 0);

  res.writeln;
}
