#include <bits/stdc++.h>
namespace lh {
using namespace std;
}
using namespace lh;
const int MXN = 1e6 + 7;
const int INF = 0x3f3f3f3f;
int n;
char buf[MXN];
int pre_min[MXN], back_have[MXN], pre[MXN], suf[MXN];
int main() {
  scanf("%d%s", &n, buf + 1);
  int cnt = 0;
  for (int i = 1; i <= n; ++i) {
    pre[i] = pre[i - 1] + (buf[i] == '(' ? 1 : -1);
    pre_min[i] = min(pre_min[i - 1], pre[i]);
  }
  for (int i = n; i >= 1; --i) {
    back_have[i] = back_have[i + 1] + (buf[i] == ')' ? -1 : 1);
    if (back_have[i + 1] > 0 && buf[i] == ')') back_have[i] = -1;
  }
  for (int i = 1, tmp; i <= n; ++i) {
    tmp = pre_min[i - 1];
    if (back_have[i + 1] > 0) continue;
    if (pre[n] - 2 * (buf[i] == '(' ? 1 : -1) != 0) continue;
    if (pre[i - 1] - (buf[i] == '(' ? 1 : -1) + back_have[i + 1] == 0 &&
        tmp >= 0)
      cnt++;
  }
  printf("%d\n", cnt);
  return 0;
}
