문제
문자열 S = s1 s2 ... s2n 을 올바르게 구성된 괄호의 문자열이라고 하자. si는 괄호 문자를 뜻한다. S를 아래의 2가지 방법으로 표현하고자 한다:
하나는 P-수열 표기법 이라는 것이다. P-수열은 P = p1, p2, ..., pn 로 표현 되고, 여기서 pi는 괄호 문자열 S에 대해 i번째 오른쪽 방향의 괄호 문자( ')' )보다 왼쪽에 있는 왼쪽 괄호 문자의( '(' ) 개수를 뜻한다.
다른 하나는 W-수열 표기법 이다. W-수열은 W = w1, w2, ... ,wn 으로 표현 되고, 여기서 wi는 i번째 오른쪽 괄호 문자와 대응되는 왼쪽 괄호 문자 사이에 자신이 속한 괄호 쌍을 포함한 완성된 괄호 쌍의 개수를 뜻한다.
S = (((()()()))) 일 때, P-수열과 W-수열은 다음과 같다.

P-수열이 입력되었을 때, 이를 W-수열로 바꿔 출력하는 프로그램을 작성하라.
입력
입력의 첫 번째 줄에는 P수열의 길이를 뜻하는 n(1 ≤ N ≤ 20)이 입력된다.
두 번째 줄에는 p1 p2 ... pn이 순서대로 입력된다.
출력
입력에 대해 대응되는 n개의 숫자로 이루어진 W-수열을 출력한다.
예제 #1
6
4 5 6 6 6 6
1 1 1 4 5 6
예제 #2
9
4 6 6 6 6 8 9 9 9
1 1 2 4 5 1 1 3 9