#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin >> t;
while(t--){
int n;
cin >> n;
vector<int>vec(n);
for(int i=0; i< n; ++i) {
cin >> vec[i];
}
unordered_map<int,int> mp;
for(int i=0; i<vec.size(); ++i) {
mp[vec[i]]++;
}
bool flag = true;
for(int i=0; i<vec.size(); ++i) {
if(mp[vec[i]] == 1) {
flag = false;
break;
}
}
if(!flag) {
cout << -1 << endl;
continue;
}
vector<int> ans;
vector<pair<int,int>> pairs;
int i = 0, j = 0;
while(i < vec.size()) {
while(j < vec.size() && vec[i] == vec[j]) j++;
pairs.push_back({i, j-1});
i=j;
}
for(int i=0; i<pairs.size(); ++i) {
ans.push_back(pairs[i].second);
for(int j=pairs[i].first; j < pairs[i].second; ++j) {
ans.push_back(j);
}
}
for(int i=0; i<ans.size(); ++i) {
cout << ans[i]+1 << " ";
}
cout << endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUodC0tKXsKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4gPj4gbjsKCiAgICAgICAgdmVjdG9yPGludD52ZWMobik7CiAgICAgICAgZm9yKGludCBpPTA7IGk8IG47ICsraSkgewogICAgICAgICAgICBjaW4gPj4gdmVjW2ldOwogICAgICAgIH0KCiAgICAgICAgdW5vcmRlcmVkX21hcDxpbnQsaW50PiBtcDsKICAgICAgICBmb3IoaW50IGk9MDsgaTx2ZWMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgbXBbdmVjW2ldXSsrOwogICAgICAgIH0KCiAgICAgICAgYm9vbCBmbGFnID0gdHJ1ZTsKICAgICAgICBmb3IoaW50IGk9MDsgaTx2ZWMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgaWYobXBbdmVjW2ldXSA9PSAxKSB7CiAgICAgICAgICAgICAgICBmbGFnID0gZmFsc2U7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYoIWZsYWcpIHsKICAgICAgICAgICAgY291dCA8PCAtMSA8PCBlbmRsOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIHZlY3RvcjxpbnQ+IGFuczsKICAgICAgICB2ZWN0b3I8cGFpcjxpbnQsaW50Pj4gcGFpcnM7CgogICAgICAgIGludCBpID0gMCwgaiA9IDA7CiAgICAgICAgd2hpbGUoaSA8IHZlYy5zaXplKCkpIHsKICAgICAgICAgICAgd2hpbGUoaiA8IHZlYy5zaXplKCkgJiYgdmVjW2ldID09IHZlY1tqXSkgaisrOwoKICAgICAgICAgICAgcGFpcnMucHVzaF9iYWNrKHtpLCBqLTF9KTsKICAgICAgICAgICAgaT1qOwogICAgICAgIH0KCiAgICAgICAgZm9yKGludCBpPTA7IGk8cGFpcnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgYW5zLnB1c2hfYmFjayhwYWlyc1tpXS5zZWNvbmQpOwogICAgICAgICAgICBmb3IoaW50IGo9cGFpcnNbaV0uZmlyc3Q7IGogPCBwYWlyc1tpXS5zZWNvbmQ7ICsraikgewogICAgICAgICAgICAgICAgYW5zLnB1c2hfYmFjayhqKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgZm9yKGludCBpPTA7IGk8YW5zLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgYW5zW2ldKzEgPDwgIiAiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGVuZGw7CgoKCiAgICB9Cgp9Cg==