func_code_string: #include <bits/stdc++.h>   #pragma GCC optimize( Ofast )   using namespace std;   long long int gcd(long long int A, long long int B) {     if (!B) return A;     return gcd(B, A % B);   }   int main() {     int n;     string s;     cin >> n >> s;     vector<int> pbal(n + 2), sbal(n + 2);     vector<bool> pref(n + 1, 1), suff(n + 1, 1);     for (int i = 1; i <= n; i++) {       if (s[i - 1] ==  ( )         pbal[i]++;       else         pbal[i]--;       pbal[i] += pbal[i - 1];       if (pref[i - 1] && pbal[i] >= 0)         pref[i] = 1;       else         pref[i] = 0;     }     for (int i = n; i > 0; i--) {       if (s[i - 1] ==  ) )         sbal[i]--;       else         sbal[i]++;       sbal[i] += sbal[i + 1];       if (suff[i + 1] && sbal[i] <= 0)         suff[i] = 1;       else         suff[i] = 0;     }     int ans = 0;     for (int i = 1; i <= n; i++) {       if (!pref[i - 1] || !suff[i + 1])         continue;       else {         if (s[i - 1] ==  ( ) {           if (pbal[i - 1] > 0 && pbal[i - 1] - 1 + sbal[i + 1] == 0) ans++;         } else {           if (sbal[i + 1] < 0 && pbal[i - 1] + 1 + sbal[i + 1] == 0) ans++;         }       }     }     cout << ans;   }   