#include <iostream>
#include <stack>
#include <vector>
using namespace std;
int main() {
// your code goes here
int T;
cin>>T;
while(T--){
int N;
cin>>N;
vector <int> v;
for(int i=0;i<N;i++){
int temp;
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()){
int temp = v[i];
v.pop_back();
v.push_back(st.top());
st.pop();
st.push(temp);
break;
}
else{
st.push(v[i]);
v.pop_back();
}
}
if(st.top() == last){
cout<<"-1"<<endl;
break;
}
st.push(v[i]);
v.pop_back();
while(!st.empty()){
v.push_back(st.top());
st.pop();
}
for(int j=0;j<N;j++){
cout<<v[j];
}
cout<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDx2ZWN0b3I+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBUOwoJY2luPj5UOwoJd2hpbGUoVC0tKXsKCQlpbnQgTjsKCQljaW4+Pk47CgkJdmVjdG9yIDxpbnQ+IHY7CgkJZm9yKGludCBpPTA7aTxOO2krKyl7CgkJCWludCB0ZW1wOwoJCQljaW4+PnRlbXA7CgkJCXYucHVzaF9iYWNrKHRlbXApOwoJCX0KCQlpbnQgaT1OLTI7CgkJaW50IGxhc3QgPSB2W04tMV07CgkJc3RhY2sgPGludD4gc3Q7CgkJc3QucHVzaChsYXN0KTsKCQl2LnBvcF9iYWNrKCk7CgkJZm9yKGk7aT49MDtpLS0pewoJCQlpZih2W2ldPHN0LnRvcCgpKXsKCQkJICAgIGludCB0ZW1wID0gdltpXTsKCQkJICAgIHYucG9wX2JhY2soKTsKCQkJICAgIHYucHVzaF9iYWNrKHN0LnRvcCgpKTsKCQkJICAgIHN0LnBvcCgpOwoJCQkgICAgc3QucHVzaCh0ZW1wKTsKCQkJICAgIGJyZWFrOwoJCQl9CgkJCWVsc2V7CgkJCSAgICBzdC5wdXNoKHZbaV0pOwoJCQkgICAgdi5wb3BfYmFjaygpOwoJCQl9CgkJCQoJCX0KCQlpZihzdC50b3AoKSA9PSBsYXN0KXsKCQkJY291dDw8Ii0xIjw8ZW5kbDsKCQkJYnJlYWs7CgkJfQoJCXN0LnB1c2godltpXSk7CgkJdi5wb3BfYmFjaygpOwoJCQoJCQoJCXdoaWxlKCFzdC5lbXB0eSgpKXsKCQkJdi5wdXNoX2JhY2soc3QudG9wKCkpOwoJCQkKCQkJc3QucG9wKCk7CgkJfQoJCWZvcihpbnQgaj0wO2o8TjtqKyspewoJCQljb3V0PDx2W2pdOwoJCX0KCQljb3V0PDxlbmRsOwoJfQoJcmV0dXJuIDA7Cn0=