#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;
}