CF687C The Values You Can Make
Description
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 Format
The first line contains two integers $ n $ and $ k $ ( $ 1
Output Format
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.