2018级程序能力实训第二次上机考试

D. 买糖葫芦

单点时限: 2.0 sec

内存限制: 512 MB

有一女子想买糖葫芦给弟弟吃,来到超市却发现糖葫芦有很多种类型,比如”糖葫芦·红”,”糖葫芦·白”,”糖葫芦·绿”等等,并且不同种类价格不一。这位女子为了提倡节能减排,只用自己的包包装糖葫芦,由于包包比较小,所以她想用有限的容量来买糖葫芦,并让包内糖葫芦的总价值最高。

输入格式

第一行:两个整数n,m,分别表示糖葫芦一共有n种,以及包包最多能装下m串糖葫芦。
接下去n行,第i行两个整数(a,b)表示第i种糖葫芦一共有a串,每串价值为b

数据约束
0<n,m,a<=100000, -100000<=b<=100000,b!=0,并且任意两种糖葫芦价值都不相同。

输出格式

第一行一个整数,表示能买到的糖葫芦的最高价值。
第二行n个整数,第i个整数表示买了第i种糖葫芦的数量。

样例

Input
3 10
1 10
6 3
7 2
Output
34
1 6 3