昌子哥变成了一个吃豆人!
摆在他面前的是一排豆豆,每颗豆豆有它的价值。他决定从某颗豆豆开始吃,往右连续吃若干个豆豆。
他当然是想让价值最大。但是有一个问题存在,如果价值大于Max,那么昌子哥将会被系统认定为作弊。所以你需要在价值总和不超过Max的情况下吃价值尽量高的豆豆。输出这个最大值,并且还需要告诉他可能的方案数哦~
输入描述:
不定组输入.
每组测试数据第一行为两个整数n和Max(

)分别代表豆豆的个数以及价值上限。
第二行n个整数

,代表第i个豆豆的价值。(

)
保证单个测试文件内测试数据的n之和小于等于
输出描述:
对于每组测试数据,若塔子哥无法吃至少一个豆豆,输出"No!"(不含双引号).
否则:
昌子哥一定要吃豆豆。
第一行输出一个整数Ans代表能吃到的最大价值。注意:Ans不应该超过Max.
接下来一行,输出一个整数代表所有可能的吃豆豆方案使得你获得的价值恰好为Ans的方案数
示例1
说明
在最大值不超过3的情况下,有两种吃豆豆的方案使得价值最大:
从第一个位置开始,向右吃两个豆豆 得到 3
从第三个位置开始,向右吃一个豆豆 得到 3