#include #include #include #include using namespace std; int func(string s, int& count, char& previous){ char prev = '1'; int res; stack st; for(size_t i = 0; i < s.size(); i++){ if(prev == '(' && s[i] == ')'){ res = 1; } else if(prev == ')' && s[i] == ')'){ res += 1; } else if(prev == ')' && s[i] == '('){ int j =0; res *= func(s.substr(i), j, prev); i +=j; continue; } if (s[i]=='(') st.push('('); else{ if(!st.empty() && st.top() == '('){ st.pop(); } if(st.empty()){ count = i; return res; } } prev = s[i]; } return 0; } int main() { int num; cin >> num; string s; cin >> s; int i = 0; char l = '1'; cout << func(s,i,l) << endl; // char curr; // int num; // cin >> num; // cin >> curr; // deque q; // stack s; // q.push_front(curr); // while(q.back() == '('){ // cin >> curr; // if(curr == '('){ // if(q.front() == '('){ // q.push_front(curr); // } // else{ // int sum = 0; // auto it = q.begin(); // while(q.front() != '(' || it != q.end()){ // sum += *it; // } // s.push(sum); // } // } // else{ // // } // } return 0; }