#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k = 0, sum = 0, t = 0, l = 0;
  cin >> n;
  string s;
  cin >> s;
  stack<pair<char, int>> st;
  pair<char, int> temp;
  for (int i = 0; i < s.length(); i++) {
    if (s[i] == '(')
      sum++;
    else
      sum--;
  }
  if (sum) {
    cout << -1 << endl;
    return 0;
  }
  for (int i = 0; i < s.length(); i++) {
    if (s[i] == ')' && (!st.empty()) && st.top().first == '(') {
      st.pop();
      k--;
      if (!k) {
        l = -1;
        t = 0;
        if (!st.empty()) l = st.top().second;
        while (!st.empty()) {
          t = st.top().second;
          st.pop();
        }
        sum += l - t + 1;
        k = 0;
      }
    } else {
      if (s[i] == '(')
        k++;
      else
        k--;
      temp.first = s[i];
      temp.second = i;
      st.push(temp);
    }
  }
  l = -1;
  t = 0;
  if (!st.empty()) l = st.top().second;
  while (!st.empty()) {
    t = st.top().second;
    st.pop();
  }
  sum += l - t + 1;
  cout << sum << endl;
}
