Magry摆什锦糖

时间限制: 2000 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

新年快要到啦,Magry和家里人一起置办年货,买了$n$块糖准备摆成什锦糖。

已知:$n$块糖,以及这$n$块糖的美味程度$c_{1}, c_{2}, ..., c_{n}$

Magry想拿这$n$块糖中的一部分摆美味程度和为$k$的什锦糖,问:能拼成美味程度和为$k$的什锦糖的每个糖果组合中,取任意个数糖果求和的结果及求得结果值的数目。

输入

输入包含多组测试数据,以EOF结束。

每组数据第一行为2个正整数$n, k$,以一个空格分隔,分别代表糖果总数$n$与需要摆出的什锦糖的美味程度总和$k$

第二行为$n$个正整数$c_{1}, c_{2}, ..., c_{n}$,表示$n$块糖的美味程度。

保证$1 \leq n,k \leq 500$,$1 \leq c_{i} \leq 500$

输出

对于每组数据,输出两行。

第一行为一个整数$x$,表示结果值的数目。

第二行为$x$个整数,表示所得到的结果值。须按照从小到大排序的方式输出。

若不存在组合成美味程度和为$k$的什锦糖的方案,则在第二行输出None

具体参见样例。

输入样例

3 50
25 25 50
6 18
5 6 1 10 12 2
6 500
5 6 1 10 12 2

输出样例

3
0 25 50
16
0 1 2 3 5 6 7 8 10 11 12 13 15 16 17 18 
0
None

相关推荐