#arc042c. [arc042_c]おやつ

[arc042_c]おやつ

问题描述

高桥同学正在选择参加郊游时要带的零食。在这次郊游中,他最多可以带总共P日元的零食。然而,班主任老师很和蔼,只要对于任何一种零食来说,如果没有这种零食,总数仍然不超过P日元,他就会允许。

例如,当他可以带100日元的时候,他带了价格分别为30日元、40日元和50日元的零食,可以假设无论拿掉哪一种零食,总数都不会超过100日元,所以班主任会允许。 但是,如果他带了价格分别为40日元、50日元和60日元的零食,即使没有40日元的零食,总数也会超过100日元,班主任也不会允许。

高桥同学想要带的零食有N种,每种零食都有价格和满意度。对每种类型的零食,高桥同学最多只能带一个。请找出班主任允许的选择方式中,满意度之和最大的情况下的满意度之和。


输入

输入从标准输入中以以下格式给出。

NN PP a1a_1 b1b_1 a2a_2 b2b_2 : aNa_N bNb_N

  • 第一行有两个整数N,P(1N5,000,1P5,000)N, P (1 ≦ N ≦ 5,000, 1 ≦ P ≦ 5,000),表示高桥同学想要带的零食的种类和可以携带的零食金额总数。
  • 接下来的NN行,每行以空格分隔,给出了高桥同学希望携带的每种零食的价格和满意度,整数aibi(1ai100,1bi100)a_i b_i (1 ≦ a_i ≦ 100, 1 ≦ b_i ≦ 100)

部分分数

此问题设有部分得分。

  • 如果满足1N100,1P1001 ≦ N ≦ 100, 1 ≦ P ≦ 100的数据集,则得到50分。

输出

在班主任允许的选择方式中,选择使满意度之和最大的情况下,输出满意度之和。


输入样例1


4 100
30 50
40 40
50 100
60 80

输出样例1


190

选择第一个、第二个和第三个零食的满意度之和为190,这是班主任允许的选择方式中最大的。


输入样例2


5 100
40 10
30 50
60 80
20 40
20 70

输出样例2


200

输入样例3


10 654
76 54
62 19
8 5
29 75
28 4
76 16
96 24
79 30
20 64
23 56

输出样例3


347

这个输入不包括在部分得分中。