#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int pos = 0, l;//pos当前遍历到的位置,l是正则式的长度
string s;
int dfs(){
int temp = 0, ans = 0;//temp保存左半部分
while(pos < l){
if(s[pos] == '('){
pos++;//跳过左括号
temp += dfs();
}
else if(s[pos] == 'x'){
pos++;
temp++;
}
else if(s[pos] == ')'){
pos++;//跳过右括号
break;
}
else if(s[pos] == '|'){
ans = max(ans, temp);
pos++;
temp = 0;
}
}
return max(ans, temp);
}
int main(){
cin >> s;
l = s.size();
cout << dfs();
return 0;
}