#include<stdio.h>
#include<algorithm>
using namespace std;
int n,m,a[30],b[30],ans=0;
void f(int p,int cur,int s)
{
if(s==0)
{
for(int i=0;i<cur;i++)printf("%d ",b[i]);
puts("");ans++;
return ;
}
else if(s<0||(s>0&&p==n))return ;
else
{
b[cur]=a[p];f(p+1,cur+1,s-a[p]);
f(p+1,cur,s);
}
}
int main()
{
while(scanf("%d",&n)==1)
{
ans=0;
scanf("%d",&m);
for(int i=0;i<n;i++)scanf("%d",&a[i]);
sort(a,a+n);
f(0,0,m);
if(ans==0)puts("-1");
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbixtLGFbMzBdLGJbMzBdLGFucz0wOwp2b2lkIGYoaW50IHAsaW50IGN1cixpbnQgcykKewoJaWYocz09MCkKCXsKCQlmb3IoaW50IGk9MDtpPGN1cjtpKyspcHJpbnRmKCIlZCAiLGJbaV0pOwoJCXB1dHMoIiIpO2FucysrOwoJCXJldHVybiA7Cgl9CgllbHNlIGlmKHM8MHx8KHM+MCYmcD09bikpcmV0dXJuIDsKCWVsc2UKCXsKCQliW2N1cl09YVtwXTtmKHArMSxjdXIrMSxzLWFbcF0pOwoJCWYocCsxLGN1cixzKTsKCX0KfQppbnQgbWFpbigpCnsKCXdoaWxlKHNjYW5mKCIlZCIsJm4pPT0xKQoJewoJCWFucz0wOwoJCXNjYW5mKCIlZCIsJm0pOwoJCWZvcihpbnQgaT0wO2k8bjtpKyspc2NhbmYoIiVkIiwmYVtpXSk7CgkJc29ydChhLGErbik7CgkJZigwLDAsbSk7CgkJaWYoYW5zPT0wKXB1dHMoIi0xIik7Cgl9CglyZXR1cm4gMDsKfQ==