#ZS0087. 旅行

旅行

题目描述

小明打算在假期进行一次长途旅行。他只有一个随身行李箱,但是空间有限。为了旅途的舒适与便利,小明想尽可能多地带上一些物 品,包括生活必需品、娱乐用品以及应急物品等。每种物品都会占用一定的行李空间,而且它们的“重要程度”也各不相同。小明希望 装进行李箱的物品在总空间不超过行李箱容量的前提下,能让“总重要性”尽量大。 具体来说: 小明的行李箱容量为 mm(用体积或者重量衡量均可); 他面前摆着 mm 种可选择的物品,且每种物品只有一件可带(也就是不能带重复件)。 对第i种物品: 若带上它,将消耗 viv_i的行李空间; 它所带来的重要性为 wiw_i。 小明需要在不超过行李箱容量 mm的前提下,选出若干物品,使得这些物品的“重要性”总和尽可能大。

请你帮助小明计算,这些物品中可以选出的重要性总和的最大值是多少?

输入格式

第一行包含两个整数nn(1n10001\le n \le 1000)和mm(10m500010\le m \le 5000),分别表示每件物品的体积和重要性 接下来n行,每行包含两个整数viv_i(1vi50001\le v_i \le 5000)和wiw_i(1wi1051\le w_i \le 10^5),分别表示每件物品的体积和重要性

输出格式

输出一行再容量不超过mm的前提下,能够选取的物品的重要性总和的最大值。

样例

输入

5 10
2 1
3 2
4 5
3 2
1 1

输出

9