#include <iostream>
#include <stack>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
// your code goes here
int T;
cin>>T;
while(T--){
int N;
cin>>N;
int temp;
vector <int> v;
for(int i=0;i<N;i++){
cin>>temp;
v.push_back(temp);
}
int i=N-2;
int last = v[N-1];
stack <int> st;
st.push(last);
v.pop_back();
for(i;i>=0;i--){
if(v[i]<st.top()){
temp = v[i];
st.push(v[i]);
v.pop_back();
break;
}
else{
st.push(v[i]);
v.pop_back();
}
}
if(st.top() == last){
cout<<"-1"<<endl;
break;
}
vector <int> v4u;
while(!st.empty()){
v4u.push_back(st.top());
st.pop();
}
sort(v4u.begin(),v4u.end());
int pos;
int s = v4u.size();
for(int i=0;i<s;i++){
if(temp<v4u[i]){
pos=i;
break;
}
}
swap(v4u[0],v4u[pos]);
for(int i=0;i<s;i++){
v.push_back(v4u[i]);
}
for(int j=0;j<N;j++){
cout<<v[j];
}
cout<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBUOwoJY2luPj5UOwoJd2hpbGUoVC0tKXsKCQlpbnQgTjsKCQljaW4+Pk47CgkJaW50IHRlbXA7CgkJdmVjdG9yIDxpbnQ+IHY7CgkJZm9yKGludCBpPTA7aTxOO2krKyl7CgkJCWNpbj4+dGVtcDsKCQkJdi5wdXNoX2JhY2sodGVtcCk7CgkJfQoJCWludCBpPU4tMjsKCQlpbnQgbGFzdCA9IHZbTi0xXTsKCQlzdGFjayA8aW50PiBzdDsKCQlzdC5wdXNoKGxhc3QpOwoJCXYucG9wX2JhY2soKTsKCQlmb3IoaTtpPj0wO2ktLSl7CgkJCWlmKHZbaV08c3QudG9wKCkpewoJCQkgICAgdGVtcCA9IHZbaV07CgkJCSAgICBzdC5wdXNoKHZbaV0pOwoJCQkgICAgdi5wb3BfYmFjaygpOwoJCQkgICAgYnJlYWs7CgkJCX0KCQkJZWxzZXsKCQkJICAgIHN0LnB1c2godltpXSk7CgkJCSAgICB2LnBvcF9iYWNrKCk7CgkJCX0KCQkJCgkJfQoJCWlmKHN0LnRvcCgpID09IGxhc3QpewoJCQljb3V0PDwiLTEiPDxlbmRsOwoJCQlicmVhazsKCQl9CgkJdmVjdG9yIDxpbnQ+IHY0dTsKCQl3aGlsZSghc3QuZW1wdHkoKSl7CgkJCXY0dS5wdXNoX2JhY2soc3QudG9wKCkpOwoJCQlzdC5wb3AoKTsKCQl9CgkJc29ydCh2NHUuYmVnaW4oKSx2NHUuZW5kKCkpOwoJCWludCBwb3M7CgkJaW50IHMgPSB2NHUuc2l6ZSgpOwoJCQoJCWZvcihpbnQgaT0wO2k8cztpKyspewoJCSAgICBpZih0ZW1wPHY0dVtpXSl7CgkJICAgICAgICBwb3M9aTsKCQkgICAgICAgIGJyZWFrOwoJCSAgICB9CgkJICAgIAoJCX0KCQlzd2FwKHY0dVswXSx2NHVbcG9zXSk7CgkJCgkJZm9yKGludCBpPTA7aTxzO2krKyl7CgkJICAgIHYucHVzaF9iYWNrKHY0dVtpXSk7CgkJfQoJCWZvcihpbnQgaj0wO2o8TjtqKyspewoJCQljb3V0PDx2W2pdOwoJCX0KCQljb3V0PDxlbmRsOwoJfQoJcmV0dXJuIDA7Cn0=