#include #include #include #include #include #include #include using namespace std; typedef long long LL; vector t, t2; int main() { int n, k; scanf("%d %d", &n, &k); t = vector(n+8); for (int i = 0; i < n; i++){ scanf("%lld", &t[i]); } for (int i = 30; i >= 0; i--){ LL msk = 1LL<= k) { t2 = vector(t.size()); int db2 = 0; for (size_t i = 0; i < t.size(); i++){ if (msk & t[i]) t2[db2++] = t[i]; } t = t2; } } LL ans = t[0]; for (int i = 1; i < k; i++){ ans &= t[i]; } printf("%lld\n", ans); return 0; }