#include #include using namespace std; #define N_MAX 50 #define T_MAX 100000 int N, T; int A[N_MAX]; bool memo[N_MAX][T_MAX + 1]; string dfs(int id, int sum, string s) { if (id == N && sum == T) return s; if (T < sum) return ""; if (N <= id) return ""; if (memo[id][sum]) return ""; memo[id][sum] = 1; string t; if ((t = dfs(id + 1, sum + A[id], s + '+')).size()) return t; if ((t = dfs(id + 1, sum * A[id], s + '*')).size()) return t; return ""; } int main() { scanf("%d%d", &N, &T); for (int i = 0; i < N; i++) scanf("%d", A + i); string res = dfs(1, A[0], ""); printf("%s\n", &res[0]); return 0; }