프로그램 명: koi4u_brackets
제한시간: 2 초

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

태현이는 대괄호(‘[’나 ‘]’)를 한 쌍 이상 포함한 올바른 괄호 문자열에서 대괄호들을 ‘(’로 바꿔서 망가진 괄호 문자열을 만들었다.

예를 들어, (( 와 ((((())) 둘 다 망가진 괄호 문자열이다.

첫 번째 문자열은 []에서 바뀐 문자열이고, 두 번째 문자열은 []((())), ([](())), (([]())) 또는 ((([])))에서 바뀐 망가진 괄호 문자열이다.

위 예제에서 볼 수 있듯이 망가진 괄호 문자열이 주어졌을 때 그 문자열이 망가지기 전에 가능했던 올바른 괄호 문자열의 가짓수는 여러 가지이다.

우리가 할 일은 이 문제에서 임의의 망가진 문자열이 주어졌을 때, 이 문자열이 망가지기 전에 가능했던 올바른 괄호 문자열의 가짓수를 계산하는 것이다.

입력

출력

주어진 망가진 괄호 문자열이 망가지기 전에 가능했던 올바른 괄호 문자열의 가짓수를 출력 한다. 이 가짓수가 매우 클 수 있으니 1,000,000,009로 나눈 나머지를 계산하자.

입출력 예

입력

4
((()

출력

2

입력

8
((((((((

출력

14

힌트

예제 1: [](), ([])
예제 2: [][][][], [[]][][], [[]][[]], [][][[]], [[[]]][], [[][]][], [][[][]], [][[[]]], [[[[]]]], [[][[]]], [[[]][]],
출처: KOI 전국본선대비 모의고사(전명우) 2012년 7월 10일
■ 대회 제한 시간은 1.5 초 입니다.
[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]