#include <stdio.h>
#include <string.h>
int output(char *s)
{
int stack=0;
int cnt=0;
for(int i=0;s[i]!='\0';i++)
{
if(s[i]=='(')//右括号入栈
{
stack++;
}
else if(s[i]==')') //左括号出栈
{
if(stack>0)
{
stack--; //遇到一个匹配出一个括号,出一个
cnt++;
}
}
}
return cnt;
}
int main () {
// 成对括号的个数,()是一个,(())是两个
// 输入str = "((())(()()())()))))
char s[100010];
scanf("%s",s);
int len = strlen(s);
printf("%d", output(s));
}