#include <algorithm>
#include <iostream>
#include <valarray>
using namespace std;

int main() {
    string s;
    cin >> s;
    int maxx = 0;
    int temp = 0;
    for(char c : s){
        if (c == '(') {
            temp ++;
            maxx = max(temp, maxx); // 深度最大值随着遍历进入下一层括号而不断更新
        }
        else {
            temp --; 
            //逻辑就是当遇到 ) 时,当前深度应当回溯至上一层括号,毕竟你当前深度的已经没戏了,
            //只能看看上一级括号里是否包含其他内嵌括号,如果存在,那就进入这一内嵌括号,深度加一。
        }
    }
    cout << maxx;


}