#include #include #include #include int main() { using namespace std; int n, tot; cin >> n >> tot; vector a(n); for (auto &e : a) { cin >> e; } vector lim(n, tot); for (int i = n - 1; i > 0; i--) { lim[i - 1] = max(lim[i] - a[i], lim[i] / a[i]); } auto dfs = [&](auto dfs, int i, int x, string s) -> void { if (i == n) { if (x == tot) { cout << s << endl; exit(0); } return; } if (x + a[i] <= lim[i]) { dfs(dfs, i + 1, x + a[i], s + "+"); } if (x <= lim[i] / a[i]) { dfs(dfs, i + 1, x * a[i], s + "*"); } }; dfs(dfs, 1, a[0], ""); }