#include <bits/stdc++.h>
using namespace std;
void helper(vector<bool>&vis,vector<int>&coins,string asf,int j,int tar){
if(tar == 0){
cout<<asf<<endl;
return;
}
if(tar < 0)return;
for(int i = j;i<coins.size();i++){
// if(vis[i]==false){
// vis[i]=true;
helper(vis,coins,asf+to_string(coins[i])+",",i,tar-coins[i]);
// vis[i]=false;
// }
}
}
int main() {
int n,tar;
cin>>n>>tar;
vector<int>coins(n);
for(int i = 0 ;i<n ;i++){
cin>>coins[i];
}
vector<bool>vis(n);
helper(vis,coins,"",0,tar);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgaGVscGVyKHZlY3Rvcjxib29sPiZ2aXMsdmVjdG9yPGludD4mY29pbnMsc3RyaW5nIGFzZixpbnQgaixpbnQgdGFyKXsKCWlmKHRhciA9PSAwKXsKCQljb3V0PDxhc2Y8PGVuZGw7CgkJcmV0dXJuOwoJfQoJCglpZih0YXIgPCAwKXJldHVybjsKCQoJZm9yKGludCBpID0gajtpPGNvaW5zLnNpemUoKTtpKyspewoJLy8JaWYodmlzW2ldPT1mYWxzZSl7CgkvLwl2aXNbaV09dHJ1ZTsKCQloZWxwZXIodmlzLGNvaW5zLGFzZit0b19zdHJpbmcoY29pbnNbaV0pKyIsIixpLHRhci1jb2luc1tpXSk7CgkvLwl2aXNbaV09ZmFsc2U7CgkvLwl9Cgl9Cn0KaW50IG1haW4oKSB7CiAgICAgaW50IG4sdGFyOwogICAgIGNpbj4+bj4+dGFyOwogICAgIHZlY3RvcjxpbnQ+Y29pbnMobik7CiAgICAgZm9yKGludCBpID0gMCA7aTxuIDtpKyspewogICAgIAljaW4+PmNvaW5zW2ldOwogICAgIH0KICAgICB2ZWN0b3I8Ym9vbD52aXMobik7CiAgICAKICAgICBoZWxwZXIodmlzLGNvaW5zLCIiLDAsdGFyKTsKCXJldHVybiAwOwp9
2,2,2,2,2,
2,2,2,4,
2,2,6,
2,2,3,3,
2,4,4,
2,5,3,
4,6,
4,3,3,
5,5,