#include #include #include using namespace std; int main() { int N; string S; cin >> N >> S; vector min_values; int total_sum = 0; int current_sum = 0; int current_min = 0; for (char c : S) { if (c == '(') { current_sum += 1; current_min = min(current_min, current_sum); } else { current_sum -= 1; current_min = min(current_min, current_sum); } min_values.push_back(current_min); total_sum += (c == '(' ? 1 : -1); } sort(min_values.rbegin(), min_values.rend()); int max_min_sum = 0; int current = 0; for (int m : min_values) { current += m; if (current > max_min_sum) { max_min_sum = current; } } int result = N * (N + 1) / 2 - total_sum + 2 * max_min_sum; cout << result << endl; return 0; }