#include #include using namespace std; vector f(int d, int &pos, const string s){ vector ret(d+1, 0); if(s[pos] == 'd'){ pos++; // d pos++; // { vector tmp(d+1, 0); while(s[pos] != '}'){ if(s[pos] == '+') pos++; vector v = f(d, pos, s); for(int i = 0; i <= d; i++) tmp[i] += v[i]; } pos++; // } for(int i = 0; i < d; i++) ret[i] = (i+1)*tmp[i+1]; }else{ int num = 1, deg = 0; if(isdigit(s[pos])){ num *= (s[pos]-'0'); }else{ deg++; } pos++; while(pos < s.length() && s[pos] == '*'){ pos += 2; deg++; } ret[deg] = num; } return ret; } int main(){ int n, d; string s; cin >> n >> d >> s; int pos = 0; vector v = f(d, pos, s); while(pos < s.length()){ pos++; vector tmp = f(d, pos, s); for(int i = 0; i <= d; i++) v[i] += tmp[i]; } for(int i = 0; i <= d; i++) cout << v[i] << " \n"[i==d]; return 0; }