#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n;
  cin >> n;
  string str;
  getline(cin, str);
  getline(cin, str);
  long long int open = 0, close = 0;
  for (int i = 0; i < n; i++) {
    if (str[i] == ')') {
      open++;
    } else {
      close++;
    }
  }
  if (open != close) {
    cout << "-1" << endl;
    return 0;
  }
  long long int cnt = 0;
  stack<char> p;
  p.push(str[0]);
  for (int i = 1; i < n; i++) {
    p.push(str[i]);
    if (p.size() <= 1) {
      continue;
    } else {
      char a = p.top();
      p.pop();
      char b = p.top();
      p.pop();
      if (a == ')' && b == '(') {
        continue;
      } else if (a == '(' && b == ')') {
        cnt += 2;
      } else {
        p.push(b);
        p.push(a);
      }
    }
  }
  if (!p.empty()) {
    cout << "-1" << endl;
    return 0;
  }
  cout << cnt << endl;
}
