#P5047. 「FJSC2018PJD3T2」子集和问题

「FJSC2018PJD3T2」子集和问题

Description

子集和问题的一个实例为 <S,t><S, t>。其中,S=x1,x2,,xnS={ x_1, x_2, \cdots, x_n} 是一个正整数的集合,cc 是一个正整数。子集和问题判定是否存在S的一个子集 S1S_1,使得子集 S1S_1 中所有元素之和等于cc

对于给定的正整数的集合 S=x1,x2,,xnS={ x_1, x_2, \cdots, x_n} 和正整数 cc,编程计算 SS 的一个字典序最小的子集 S1S_1,使得子集 S1S_1 中所有元素之和等于 cc

Input Format

由文件subsum.in提供输入数据。

文件第1行有2个正整数 nnccnn 表示 SS 的个数,cc 是子集和的目标值。

接下来的1行中,有 nn 个正整数,表示集合 SS 中的元素。

Output Format

程序运行结束时,将子集和问题的字典序最小的解输出到文件subsum.out中。

当问题无解时,输出No solution!

Sample

样例输入1

5 10
2 2 6 5 4

样例输出1

2 2 6

Hint

1n104,1c107 1 \leq n \leq 10^4, 1 \leq c \leq 10^7