괄호 인코딩 변환

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

문제

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

  1. P-수열 P=p1p2pnP = p_1 p_2 \dots p_n: pip_iSS 에서 ii 번째 닫는 괄호보다 앞에 있는 여는 괄호의 개수이다.
  2. W-수열 W=w1w2wnW = w_1 w_2 \dots w_n: SSii 번째 닫는 괄호를 aa, 그와 짝이 되는 여는 괄호를 bb 라고 하자. wiw_ibb 에서 시작하여 aa 에서 끝나는 부분 문자열(양 끝 포함)에 들어 있는 닫는 괄호의 개수이다.

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

SS(((()()())))
P-수열4 5 6 6 6 6
W-수열1 1 1 4 5 6

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

입력

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

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

출력

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