차회 행사가 막바지에 다다랐을 때, 10주년 기념 특별 회고 세션의 일환으로 소 T는 지난 THUPC 대회의 소중한 기록물인 10년간의 대회 연감들을 꺼내어 모두가 열람할 수 있도록 했습니다.
열람을 마친 후, 두 사람은 연감을 다시 책장에 꽂아두려 합니다. 세월이 흐르면서 연감들의 파손 정도는 제각각이 되었습니다. 섬세한 성격의 소 S는 연감을 다시 꽂을 때 파손 정도가 왼쪽에서 오른쪽으로 엄격히 증가하도록 재배열하여 시간의 흐름을 직관적으로 보여주자고 제안했습니다. 하지만 연감의 종이는 매우 약해져 있어서, 한 번에 한 권씩 아주 조심스럽게 앞으로 한 칸씩만 옮길 수 있으며, 이 과정에서 해당 연감의 파손도는 필연적으로 1 증가하게 됩니다. 더 큰 문제는 정리할 시간이 매우 부족하다는 점입니다. 소 S는 제한된 횟수 내에 이 연감들을 다시 책장에 꽂고 질서 정연하게 정리할 수 있을지 궁금해합니다.
책장에는 $n$권의 연감이 놓여 있습니다. 처음에 $i$ ($1 \le i \le n$)번째 연감의 파손도는 $a_i$입니다.
매 이동 시, 먼저 위치 $p$ ($1 \le p \le n - 1$)를 선택한 다음, $p+1$번째 연감을 $p$번째 연감 앞으로 이동시킵니다. 이동 후 해당 연감의 파손도는 1 증가합니다.
시간이 제한되어 있으므로, 총 $n^2 - n$번 이하의 이동만 수행할 수 있습니다. 연감을 열람하는 참가자 중 한 명으로서, 당신은 소 S가 최종적으로 책장의 연감 파손도가 왼쪽에서 오른쪽으로 엄격히 증가하도록 만드는 구체적인 이동 계획을 세우는 것을 도와야 합니다.
입력
각 테스트 케이스는 여러 개의 테스트 데이터로 구성됩니다. 입력의 첫 번째 줄에는 데이터의 개수를 나타내는 정수 $T$ ($1 \le T \le 10$)가 주어집니다. 각 테스트 데이터에 대하여:
- 첫 번째 줄에는 연감의 개수를 나타내는 정수 $n$ ($2 \le n \le 500$)이 주어집니다.
- 두 번째 줄에는 각 연감의 초기 파손도를 나타내는 $n$개의 정수 $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$)이 주어집니다.
출력
각 테스트 데이터에 대하여, 가능한 이동 계획이 존재한다면:
- 첫 번째 줄에 이동 횟수를 나타내는 비음의 정수 $k$ ($0 \le k \le n^2 - n$)를 출력합니다.
- 두 번째 줄에 매 이동 시 선택한 위치 $p_1, p_2, \dots, p_k$ ($1 \le p_i \le n - 1$)를 출력합니다.
최종적으로 책장의 연감 파손도를 왼쪽에서 오른쪽으로 엄격히 증가하게 만들 수 없는 경우, -1을 출력합니다.
예제
입력 1
3 3 2 1 2 2 2 1 3 4 5 1
출력 1
0 -1 2 2 1
참고
첫 번째 테스트 데이터의 경우, 처음에 책장의 연감 파손도가 이미 왼쪽에서 오른쪽으로 엄격히 증가하고 있습니다.
두 번째 테스트 데이터의 경우, $n^2 - n$번 이하의 이동으로 최종 책장의 연감 파손도를 왼쪽에서 오른쪽으로 엄격히 증가하게 만드는 것은 불가능함이 증명될 수 있습니다.
세 번째 테스트 데이터의 경우, 가능한 이동 계획 중 하나는 다음과 같습니다:
- 첫 번째 이동에서 위치 2를 선택하면, 모든 연감의 파손도는 $[4, 2, 5]$가 됩니다.
- 두 번째 이동에서 위치 1을 선택하면, 모든 연감의 파손도는 $[3, 4, 5]$가 됩니다.