#include<bits/stdc++.h>
using namespace std;
stack<char>z;
int a[10005],d[10005];
int main(){
string s;
int sum=0,maxn=0;
cin>>s;
for(int i=0;i<s.size();i++){
if(s[i]=='('||s[i]=='['||s[i]=='{'){
z.push(s[i]);
}
else if(s[i]==')'){
if(!z.empty()&&z.top()=='('){
z.pop();
sum++;
}
else{
z.push(s[i]);
a[i]=sum;
sum=0;
}
}
else if(s[i]=='}'){
if(!z.empty()&&z.top()=='{'){
z.pop();
sum++;
}
else{
z.push(s[i]);
a[i]=sum;
sum=0;
}
}
else{
if(!z.empty()&&z.top()=='['){
z.pop();
sum++;
}
else{
z.push(s[i]);
a[i]=sum*2;
sum=0;
}
}
}
a[s.size()-1]=sum*2;
for(int i=0;i<s.size();i++){
if(i-a[i]+1>=0)d[i]=a[i]+a[i-a[i]+1];
maxn=max(maxn,d[i]);
}
cout<<maxn;
return 0;
}