#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000 using namespace std; typedef long long ll; const int MAXN = 64; string dp[MAXN][100100]; int a[MAXN]; int main(void) { int N, Total; cin >> N; cin >> Total; for (int i = 0; i < N; i++) { cin >> a[i]; } if (a[0] + a[1] != a[0] * a[1]) { dp[0][a[0]+a[1]] = "+"; dp[0][a[0]*a[1]] = "*"; } else { dp[0][a[0]+a[1]] = "+"; } for (int i = 0; i < N-1; i++) { for (int j = 1; j <= Total; j++) { if (!dp[i][j].empty()) { int tmp = j * a[i+2]; if (tmp <= Total) { dp[i+1][tmp] = max(dp[i+1][tmp], dp[i][j]+"*"); } tmp = j + a[i+2]; if (tmp <= Total) { dp[i+1][tmp] = max(dp[i+1][tmp], dp[i][j]+"+"); } } } } cout << dp[N-2][Total] << endl; return 0; }