#24. 小苯的01背包(hard)

小苯的01背包(hard)

Background

此版本为本题的easy(简单版),与hard(困难版)唯一的不同之处只有数据范围。

Description

小苯有一个容量为 kk 的背包,现在有 nn 个物品,每个物品有一个体积 vv 和价值 ww,他想知道在体积不超过 kk 的前提下,他最多能装价值为多少的物品。

本问题中,物品的总体积定义为所装物品的体积的 &(按位与),总价值也定义为所装物品的价值的 &(按位与)。

(如果不选物品,则价值为 0,所占体积也为 0。)

Format

Input

输入包含 n+1n+1 行。

第一行两个正整数 n,k(1n2105,0k109)n,k(1 \leq n \leq 2*10^5,0 \leq k \leq 10^9)分别表示物品个数和背包容量。

接下来 nn 行,每行两个正整数 $v_i,w_i(0 \leq v_i,w_i(0 \leq v_i,w_i \leq 2 * 10^9))$ ,表示每个物品的体积和价值。

Output

输出包含一行一个整数,表示能装的最大价值。

Samples

3 1
7 3
10 7
9 6
2

Limitation

样例解释 11: 选择第一个和第三个物品。 体积为:7 & 9 = 1 价值为:3 & 6 = 2。 可以证明不存在比 22 更大的价值。