#include #include #include #include #include #include #include #include // istringstream #include // sort #include // pair #include // DBL_MAX typedef long long ll; using namespace std; // const int maxN = 200000; // bool ps[maxN-1]; int main(){ ll N, total; // [50, 100,000] cin >> N >> total; vector As(N); for(int i=0; i> As[i]; } // main queue > fomulas; fomulas.push(make_pair(total, "")); for(int i=N-1; i>0; i--){ queue > next; while(!fomulas.empty()){ // + if(fomulas.front().first >= As[i]){ next.push(make_pair(fomulas.front().first-As[i], "+"+fomulas.front().second)); } // * if(fomulas.front().first%As[i] == 0){ next.push(make_pair(fomulas.front().first/As[i], "*"+fomulas.front().second)); } fomulas.pop(); } fomulas = next; } // output while(fomulas.front().first!=As[0]){ fomulas.pop(); } cout << fomulas.front().second << endl; return 0; }