#include #include using namespace std; vector V; vector> h; void hist (vector VV) { //vector > h; h.clear(); for (int i = 0; i < 32; i++) h.push_back(vector()); for (auto i : VV) { for (int j = 0; j < 32; j++) { if (i & (1 << j)) h[j].push_back(i); } } //return h; } int main () { int n, k; scanf("%d %d", &n, &k); for (int i = 0; i < n; i++) { int x; scanf("%d", &x); V.push_back(x); } hist(V); int r= 0; for (int i = 31; i > 0; i--) { if (h[i].size() >= k) { hist(h[i]); for (int j = 31; j >= 0; j--) if (h[j].size() >= k) r += (1 << j); break; } } printf("%d\n", r); }