서로 다른 n개의 정수로 이루어진 수열 S=(s1,s2,…,sn)이 있다. 이 수열은 1부터 n까지의 정수를 한 번씩만 사용한 순열이다. 즉 모든 i=j에 대해 si=sj이고, 1≤si≤n이다.
수열 S로부터 새로운 수열 R=(r1,r2,…,rn)을 만들 수 있다. 여기서 ri는 si보다 앞에 있는 원소들 {s1,s2,…,si−1} 중에서 si보다 작은 값의 개수이다.
예를 들어 n=10이고 S=(6,4,3,5,1,2,7,8,9,10)이면 R=(0,0,0,2,0,1,6,7,8,9)이다.
어떤 수열 R이 주어졌을 때, 이 R을 만들어 낸 원래 수열 S를 복원하는 프로그램을 작성하여라. R에 대응하는 S는 존재한다면 유일하게 결정되지만, 경우에 따라서는 그러한 S가 존재하지 않을 수도 있다. 예를 들어 n=5이고 R=(0,2,2,0,1)이면 이 R에 대응하는 S는 존재하지 않는다.
입력은 표준 입력으로 주어진다. 첫째 줄에 테스트 데이터의 개수 T가 주어진다. 각 테스트 데이터는 두 줄로 이루어진다. 첫째 줄에는 수열의 길이 n (1≤n≤100)이 주어지고, 둘째 줄에는 수열 R을 이루는 n개의 정수 r1,r2,…,rn이 공백으로 구분되어 주어진다.
각 테스트 데이터마다 주어진 R에 대응하는 수열 S를 공백으로 구분하여 한 줄에 출력한다. R로부터 S를 복원할 수 없으면 그 줄에 IMPOSSIBLE을 출력한다.