베스의 쿠키
시간 제한2초메모리 제한1024 MB
괄호 수열이 주어질 때, 인접한 괄호 쌍 사이에 연산자를 넣어 만든 산술식의 값을 구합니다.
문제
알프가 같은 반 친구 베스에게 이 이야기를 들려주었다.
"지난 방학에 댐 호수 위쪽 숲속에 있는 크고 버려진 집을 탐험했어. 그때 나는 토모로우 프로그래밍 스쿨에 막 입학해서 무척 자랑스러웠거든. 그래서 탐험에는 엄격하고 분명한 규칙을 정하고, 내 행동을 기록하기로 했지.
집 안에는 문으로만 서로 연결된 방들이 있었어. 복도나 통로는 없었지. 어떤 방에 두 번째, 세 번째 등으로 다시 들어갈 때는 항상 지난번에 그 방을 나올 때 쓴 문으로만 들어갔어. 문을 지날 때마다 글자를 하나씩 적었지. 아직 발견하지 않은 인접한 방이나, 현재 방보다 나중에 발견한 인접한 방으로 이동하면 F를 적었어. F는 Forward의 약자야. 현재 방보다 먼저 발견한 방으로 이동하면 B를 적었어. B는 Backward의 약자고. 방을 발견한다는 것은 그 방에 처음 들어간다는 뜻이야.
탐험은 집의 입구 방에서 시작해서 입구 방에서 끝냈어. 집을 떠날 때 탐험 중에 적은 순서대로 글자들이 나열된 열이 생겼지. 나중에 자동 처리에 더 알맞게 하려고, F는 여는 괄호로, B는 닫는 괄호로 바꿨어. 이게 수정한 열이야. 이걸 특이한 프로그래밍 과제에 쓸 수 있을 것 같아?"
베스는 금방 답장했다. "당연히 쓸 수 있지. )( 쌍 사이에 기호 *를 넣어. () 쌍 사이에는 기호 1을 넣고. 그리고 )) 쌍 사이에는 +1이라는 기호 쌍을 넣어. 그러면 산술식이 되는데, 그 식의 값만큼 쿠키를 줄게. 당연히 먼저 계산은 해야 해."
입력
첫 줄에 짝수인 정수 ()이 주어진다. 이는 알프의 탐험으로 만들어진 괄호 열의 길이다. 둘째 줄에는 공백이나 다른 기호 없이 괄호 열 자체가 주어진다.
출력
알프가 베스에게서 받을 쿠키의 개수를 출력한다.