import java.util.LinkedList;
import java.util.Queue;
public class IronStick {
public int solution(String arrangement) {
int answer = 0, stick = 0;
Queue<String> queue = new LinkedList<>();
for (int i = 1; i <= arrangement.length(); i++) {
if (arrangement.charAt(i - 1) == '(' && arrangement.charAt(i) == ')') {
queue.offer("()");
i++;
} else {
queue.offer(arrangement.charAt(i - 1) + "");
}
}
while (!queue.isEmpty()) {
String ele = queue.poll();
if (ele.equals("()")) {
answer += stick;
} else if (ele.equals("(")) {
stick++;
} else if (ele.equals(")")) {
answer++;
stick--;
}
}
return answer;
}
public static void main(String[] args) {
IronStick s = new IronStick();
System.out.println(s.solution("()(((()())(())()))(())"));
}
}