#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[10010];
ll sum[10010];
ll ans[10010];
int n,m;
int dfs(int x,int sum,int cur)
{
// cout<<x<<" "<<sum<<" "<<cur<<endl;
int f=0;
if(sum==m)
{
return cur;
}
for(int i=x+1;i<=n;i++)
{
if(sum+a[i]<=m)
{
ans[cur+1]=a[i];
f=dfs(i,sum+a[i],cur+1);
if(f)return f;
}
else break;
}
if(f) return f;
return 0;
}
int main()
{
cin>>n>>m;
ll sum=0;
for(int i=1;i<=n;i++)
{
cin>>a[i];
sum+=a[i];
}
sort(a+1,a+1+n);
if(m<a[1]||m>sum)cout<<"No Solution";
else
{
int pp=dfs(0,0,0);
if(pp==0)cout<<"No Solution";
else
{
cout<<ans[1];
for(int i=2;i<=pp;i++)cout<<" "<<ans[i];
}
}
}