Codeforces Round 360 (Div. 2)
E
The Values You Can Make
Codeforces
未评级
原题
← D→
翻译中…

Pari wants to buy an expensive chocolate from Arya. She has $*n*$ coins, the value of the $*i*$-th coin is $*c*_{*i*}$. The price of the chocolate is $*k*$, so Pari will take a subset of her coins with sum equal to $*k*$ and give it to Arya.

翻译中…

Looking at her coins, a question came to her mind: after giving the coins to Arya, what values does Arya can make with them? She is jealous and she doesn't want Arya to make a lot of values. So she wants to know all the values $*x*$, such that Arya will be able to make $*x*$ using some subset of coins with the sum $*k*$.

翻译中…

Formally, Pari wants to know the values $*x*$ such that there exists a subset of coins with the sum $*k*$ such that some subset of this subset has the sum $*x*$, i.e. there is exists some way to pay for the chocolate, such that Arya will be able to make the sum $*x*$ using these coins.

翻译中…

Input

翻译中…

The first line contains two integers $*n*$ and $*k*$ ($1  ≤  *n*, *k*  ≤  500$) — the number of coins and the price of the chocolate, respectively.

翻译中…

Next line will contain $*n*$ integers $*c*_{1}, *c*_{2}, ..., *c*_{*n*}$ ($1 ≤ *c*_{*i*} ≤ 500$) — the values of Pari's coins.

翻译中…

It's guaranteed that one can make value $*k*$ using these coins.

翻译中…

Output

翻译中…

First line of the output must contain a single integer $*q*$— the number of suitable values $*x*$. Then print $*q*$ integers in ascending order — the values that Arya can make for some subset of coins of Pari that pays for the chocolate.

翻译中…

样例

Input #1
6 18
5 6 1 10 12 2
Output #1
16
0 1 2 3 5 6 7 8 10 11 12 13 15 16 17 18
InputCopy OutputCopy
Input #2
3 50
25 25 50
Output #2
3
0 25 50
InputCopy OutputCopy
题目信息
题号
688E
时间限制
2 s
内存限制
256 MB

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。