#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define MAX_MOD 1000000007 #define REP(i,n) for(long long i = 0;i < n;++i) #define LONG_INF 100000000000000 int main() { string s; cin >> s; int ans_left = 0; for (int i = 0;i < s.length();++i) { if (s[i] == '(') { int cnt = 0; for (int q = i + 1;q < s.length();++q) { if (s[q] == '*') cnt = cnt|4; else if (cnt >= 4) { if (s[q] == '^')cnt++; else if (s[q] == ')' && cnt >= 6) ans_left++; } } } } int ans = 0; reverse(s.begin(), s.end()); for (int i = 0;i < s.length();++i) { if (s[i] == ')') { int cnt = 0; for (int q = i + 1;q < s.length();++q) { if (s[q] == '*') cnt = cnt|4; else if (cnt >= 4) { if (s[q] == '^')cnt++; else if (s[q] == '(' && cnt >= 6) ans++; } } } } cout << ans << " " << ans_left << endl; return 0; }