#include<bits/stdc++.h>
#define rep(i,k,n) for(int i=k;i<=n;i++)
#define rep2(i,k,n) for(int i=k;i>=n;i--)
using namespace std;
const int N=1005;
const int M=1e6+7;
typedef unsigned long long ll;
ll a[N],stk[M];
int n,vis[M],K,top=0;
int main(){
	scanf("%d%d",&n,&K);
	rep(i,1,n)cin>>a[i];
	rep(i,1,n){
		ll S=0;
		rep(j,i,n){
			S+=a[j];
			stk[++top]=S;
		}
	}
	ll ans=0;
	rep2(i,63,0){
		int cnt=0;
		rep(j,1,top)if(!vis[j]){
			if((stk[j] >> i)&1){
				cnt++;
			}
		}
		if(cnt>=K){
			rep(j,1,top)if(!vis[j]){
				if(!((stk[j] >> i)&1)){
					vis[j]=1;
				}
			}
			ans|=(1ull<<i);
		}
	}
	cout<<ans;
}