#include <bits/stdc++.h>
using namespace std;
int main() {
    long n,k; cin>>n>>k;
    vector<long> a(n),b(n);
    for(int i=0;i<n;i++)
        cin>>a[i]>>b[i];
    long MAX=0,mask=0;
    for(int i=0;i<=30;i++){
        if(i==0||(k&(1<<i))!=0){
            long cmask= mask|((k>>(i+1))<<(i+1));
            if(i==0) cmask=k;
            long sum=0;
            for(int i=0;i<n;i++){
                if((cmask|a[i]) == cmask)
                    sum+=b[i];
            }
            MAX=max(sum,MAX);
        }
        mask|=(1<<i);
    }
    cout<<MAX;
}