#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
long long quickpow(long long a, long long b) {
  long long ans = 1;
  while (b) {
    if (b & 1) ans *= a;
    a *= a, b >>= 1;
  }
  return ans;
}
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  int n;
  string s;
  cin >> n;
  cin >> s;
  int acoutl = 0, acoutr = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == ')')
      acoutr++;
    else
      acoutl++;
  }
  if (acoutr != acoutl) {
    cout << -1 << endl;
    return 0;
  }
  long long ans = 0;
  int flag = 1;
  acoutr = acoutl = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == ')') {
      acoutr++;
      if (acoutr > acoutl) flag = 0;
      if (acoutr == acoutl && flag == 1) {
        acoutl = acoutr = 0;
        flag = 1;
      }
      if (acoutl == acoutr) {
        ans += 2 * acoutl;
        acoutl = acoutr = 0;
        flag = 1;
      }
    } else {
      acoutl++;
      if (acoutl == acoutr) {
        ans += 2 * acoutl;
        acoutl = acoutr = 0;
        flag = 1;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
