오타

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

올바른 괄호 문자열을 좋아하는 키파는 최근에 노트북을 샀다. 그런데 키보드가 너무 작아서, 키파는 여는 괄호 ( 와 닫는 괄호 ) 를 실수로 뒤바꿔 입력하지는 않았을까 걱정되었다. 키파는 매우 조심해서 입력했기 때문에, 오타는 많아야 한 곳에서만 났다.

키파가 입력한 괄호 문자열이 주어질 때, 문자 하나만 바꿔서(여는 괄호를 닫는 괄호로, 또는 닫는 괄호를 여는 괄호로) 전체를 올바른 괄호 문자열로 만들 수 있는 서로 다른 위치가 몇 개인지 세어 키파를 도와주자.

올바른 괄호 문자열은 다음과 같이 정의된다.

  • () 는 올바른 괄호 문자열이다.
  • 문자열 A 가 올바른 괄호 문자열이면 (A) 도 올바른 괄호 문자열이다.
  • 문자열 AB 가 모두 올바른 괄호 문자열이면, 이를 이어 붙인 AB 도 올바른 괄호 문자열이다.

입력

첫째 줄에 키파가 입력한 괄호 문자열이 주어진다. 문자열은 () 로만 이루어져 있으며, 길이 $n$ 은 $1 \le n \le 100000$ 을 만족한다.

출력

정확히 한 문자만 바꿔서 올바른 괄호 문자열로 만들 수 있는 위치의 개수를 첫째 줄에 출력한다. 그런 위치가 없으면 0 을 출력한다.

힌트

키파가 입력한 문자열 ()(()))) 를 살펴보자. 각 문자의 위치는 다음과 같다.

위치: 1 2 3 4 5 6 7 8
문자: ( ) ( ( ) ) ) )

$2$ 번째 문자 )( 로 바꾸면 올바른 괄호 문자열 (((()))) 가 된다. 같은 방법으로 $5$ 번째, $6$ 번째, $7$ 번째 문자를 각각 바꿔도 올바른 괄호 문자열을 만들 수 있으므로, 답은 $4$ 이다.