#include #include #include using namespace std; int n,z; int a[50]; string A; vector Z; void dfs(int nw,int j){ //cout << nw << " " << j << " " << A << endl; if(j == n){ if(z==nw){ string K = ""; for(int i = 0; A.size() > i; i++){ K.push_back(A[i]); } Z.push_back(K); } return; } if(nw+a[j] <= z){ A.push_back('+'); dfs(nw+a[j],j+1); A.pop_back(); } if(nw*a[j] <= z){ A.push_back('*'); dfs(nw*a[j],j+1); A.pop_back(); } } int main(){ cin>>n>>z; for(int i = 0; n > i; i++){ cin>>a[i]; } dfs(a[0],1); sort(Z.begin(),Z.end()); cout << Z[Z.size()-1] << endl; }