주가

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

문제

헥토르는 최근 주식 투자에 관심을 갖게 되었다. 주식, 채권, 주가, 배당으로 이루어진 세계는 복잡하고 숫자로 가득해서, 새로운 취미로 삼기에 안성맞춤이었다.

헥토르는 어떤 회사의 주가 기록을 가지고 있다. 이 기록은 연속된 각 거래 시점의 주가를 나타내는 자연수의 목록이다. 헥토르는 목록의 각 거래 시점에 대해, (그 시점을 기준으로) 주가가 처음으로 그 시점의 주가를 넘어서는 때가 언제인지 알고 싶어 한다. 형식적으로, 목록의 각 위치 xx에 대해 xx보다 크면서 위치 yy의 주가가 위치 xx의 주가보다 큰 가장 작은 yy를 구하면 된다.

이러한 계산을 수행하는 프로그램을 작성할 수 있겠는가?

입력

첫째 줄에 테스트 집합의 개수를 나타내는 자연수 ZZ (1Z101 \le Z \le 10)가 주어진다. 이어서 각 테스트 집합이 차례로 주어진다.

각 테스트 집합의 첫째 줄에는 헥토르가 가진 목록의 길이를 나타내는 자연수 NN (1N10000001 \le N \le 1000000)이 주어진다.

각 테스트 집합의 둘째 줄에는 연속된 각 거래 시점의 주가를 나타내는 NN개의 자연수 kik_i (1ki10000000001 \le k_i \le 1000000000)가 공백으로 구분되어 주어진다.

출력

각 테스트마다 한 줄에 헥토르의 목록에 대응하는 NN개의 정수를 공백으로 구분하여 출력한다. 뒤에 더 높은 주가가 나타나는 위치에 대해서는 그러한 첫 번째 거래 시점의 번호를 출력한다. 이때 목록의 거래 시점은 0번부터 번호를 매긴다. 나머지 위치에 대해서는 1-1을 출력한다.