#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int a[100];
int print(int);
int search(int,int);
int ans[100],count[100];
int n,s,js;
int main()
{
scanf("%d%d",&n,&s);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
count[a[i]]++;
}
search(1,s);//从第一个元素开始找
if(js==0)printf("no,solution");//没出现
return 0;
}
int print(int x)
{
js++;
for(int i=1;i<=x;i++)
printf("%d ",ans[i]);
printf("\n");
}
int search(int x,int s)
{
for(int i=1;i<=n;i++)
{
if(a[i]<=s&&count[a[i]])
{
s-=a[i];
count[a[i]]--;
ans[x]=a[i];
if(s==0)print(x);
else search(x+1,s);//找第二个且满足和减去第一个
s+=a[i];
//count[a[i]]++ 不回溯就不会重复,如4 6和6 4。。。。
ans[x]=0;
}
}
}