#include<iostream>
#include<vector>

using namespace std;

int n, k;

vector<int> v;
vector<int> nxt;

int main()
{
	cin>>n>>k;
	int a;
	for(int i = 0; i < n; i++)
	{
		cin>>a;
		v.push_back(a);
	}
	for(int i = 29; i >= 0; i--)
	{
		for(int j = 0; j < v.size(); j++)
		{
			if((v[j]>>i)&1)
				nxt.push_back(v[j]);
		}
		if(nxt.size() >= k)
			swap(v, nxt);
		nxt.clear();
	}
	int ans = v[0];
	for(int i = 0; i < v.size(); i++)
		ans &= v[i];
	cout<<ans<<endl;
	return 0;

}

