#include <bits/stdc++.h>
using namespace std;

#define N 100005
int n, k;
int a[N], b[N];

int main() {
	cin >> n >> k;
	for(int i = 0; i < n; i++){
		cin >> a[i] >> b[i];
	}
	int mask = 0;
	long long best = 0;
	for(int i = 30; i >= 0; i--){
		if(((k + 1) & (1 << i)) == 0){
			mask |= (1 << i);
		} else{
			int cur_mask = mask | (1 << i);
			long long cur_best = 0;
			for(int j = 0; j < n; j++){
				if((a[j] & cur_mask) == 0){
					cur_best += b[j];
				}
			}
			best = max(best, cur_best);
		}
	}
	cout << best << '\n';
	return 0;
}