#include #define rep(i,a,b) for (int i=a; i PII; typedef vector VI; typedef long long ll; typedef long double ld; int main () { int n, k; scanf ("%d %d", &n, &k); vector mus(n); for (int &x: mus) scanf ("%d", &x); set > wor; int y =0; for (int x: mus) wor.insert(mp(x, y++)); int b = 30; for (; b>=0; b--) { int ile = 0; for (int x: mus) if (x & (1<=k) break; } int res = 0; for (; b>=0; b--) { vector > buf; for (auto x: wor) { if ((x.fi & (1<