#include <bits/stdc++.h>
using namespace std;
template <class C>
void mini(C &a, C b) {
  a = min(a, b);
}
template <class C>
void maxi(C &a, C b) {
  a = max(a, b);
}
inline void Problem() {
  int n, l = 0, f = -1, cnt = 0;
  char c;
  scanf("%d\n", &n);
  vector<char> a(n + 1, false);
  a[0] = false;
  for (int i = 1; i <= n; ++i) {
    scanf("%c", &c);
    if (c == '(') {
      ++cnt;
      a[i] = true;
    } else {
      --cnt;
      a[i] = false;
    }
    if (cnt < 2) {
      l = i;
    }
    if (cnt < 0 && f == -1) {
      f = i;
    }
    if (cnt < -2) {
      printf("0");
      return;
    }
  }
  if (cnt != 2 && cnt != -2) {
    printf("0");
  } else {
    int ans = 0;
    if (f != -1) {
      n = f;
    }
    for (int i = 1; i <= n; ++i) {
      if (a[i]) {
        ans += cnt > 0 && i > l;
      } else {
        ans += cnt < 0;
      }
    }
    printf("%d", ans);
  }
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  Problem();
  return 0;
}
