#P2125. 还是01背包

还是01背包

有n个重量和价值分别为 wi 和 vi 的物品,从这些物品中挑选总重量不超过W的物品,求所有挑选方案中价值总和的最大值。

Input

多组测试数据。
每组测试数据第一行输入n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 vi。
1 <= n <=40
1 <= wi <= 10^15
1 <= vi <= 10^15
1 <= W <= 10^15

Output

每组数据输出一行,代表挑选方案中价值总和的最大值。

Sample Input

4 5
2 3
1 2
3 4
2 2

Sample Output

7

HINT

Source