괄호 인코딩 변환

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

문제

$S = s_1 s_2 \dots s_{2n}$ 을 올바른 괄호 문자열이라고 하자(모든 여는 괄호가 짝이 되는 닫는 괄호를 가지며, 짝이 올바르게 중첩되어 있다). 이러한 문자열은 두 가지 방법으로 인코딩할 수 있다.

  1. P-수열 $P = p_1 p_2 \dots p_n$: $p_i$ 는 $S$ 에서 $i$ 번째 닫는 괄호보다 앞에 있는 여는 괄호의 개수이다.
  2. W-수열 $W = w_1 w_2 \dots w_n$: $S$ 의 $i$ 번째 닫는 괄호를 $a$, 그와 짝이 되는 여는 괄호를 $b$ 라고 하자. $w_i$ 는 $b$ 에서 시작하여 $a$ 에서 끝나는 부분 문자열(양 끝 포함)에 들어 있는 닫는 괄호의 개수이다.

예를 들어 아래 문자열의 경우:

$S$(((()()())))
P-수열4 5 6 6 6 6
W-수열1 1 1 4 5 6

올바른 괄호 문자열의 P-수열이 주어지면, 같은 문자열의 W-수열을 출력하라.

입력

첫째 줄에 테스트 케이스의 수 $t$ ($1 \le t \le 10$) 가 주어진다.

각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에는 정수 $n$ ($1 \le n \le 20$) 이 주어지고, 둘째 줄에는 공백 하나로 구분된 $n$ 개의 양의 정수로 이루어진 P-수열이 주어진다.

출력

각 테스트 케이스마다 한 줄에 $n$ 개의 정수를 출력한다. 이는 주어진 P-수열에 대응하는 문자열의 W-수열이며, 정수들은 공백 하나로 구분한다.