#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <map>
#include <queue>
#include <cmath>
#include <vector>
#include <string>
using namespace std;
char s[300], ts[300];
int len, tlen;
bool flag;
bool ischar(char c) {
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') {
return true;
}
return false;
}
int main()
{
cin >> len;
scanf("%s", s);
int maxl = 0;
tlen = 0;
flag = true;
for (int i = 0; i < len; i++) {
if (flag && ischar(s[i])) {
tlen++;
}
else if (s[i] == '(') {
maxl = max(maxl, tlen);
tlen = 0;
flag = false;
}
else if (s[i] == ')') {
tlen = 0;
flag = true;
continue;
}
else if (flag && s[i] == '_') {
maxl = max(maxl, tlen);
tlen = 0;
}
}
maxl = max(maxl, tlen); //debug
cout << maxl << " ";
flag = false;
int cnt = 0;
for (int i = 0; i < len; i++) {
if (s[i] == '(') {
flag = true;
}
else if (s[i] == ')') {
flag = false;
}
else if (s[i] == '_') {
continue;
}
else if (flag && ischar(s[i])) {
if (i == 0) {
cnt++;
}
else if (i > 0) {
if (ischar(s[i - 1])) {
continue;
}
else {
cnt++;
}
}
}
}
cout << cnt << endl;
return 0;
}