#include<iostream>
#include<stack>
#include<vector>
using namespace std;
typedef long long LL;
int main()
{
int t=0;
cin>> t;
while(t--){
LL n;
stack<int>A,B;
cin>> n;
vector<int>inpt,outp(n);
//for entering the data to the loop
int ele;
for(LL i= 0;i< n;i++ ){
cin >> ele; A.push(ele); inpt.push_back(ele);
}
//for(int i=0;i< inpt.size();i++) cout<< inpt[i]<< endl;
//for next permutation.
long m,bin=0, t=1;LL num = n-1;
bin = A.top(); A.pop();
B.push(bin);
while(!A.empty() && t){
m = A.top(); A.pop();
if(m>= bin){
bin = m;
B.push(bin);
}
else{
t=0;
}
num--;
}
while(!B.empty()){
A.push(B.top());B.pop();
}
if(num!=0){
A.push(m);
}
for(LL i=n-1;i>=0;i--){
outp[i]= A.top();A.pop();
}
if(inpt == outp){cout<< -1;}
else{for(LL i=0;i<outp.size();i++)
cout<< outp[i];}
cout<< endl;
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0YWNrPgojaW5jbHVkZTx2ZWN0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBMTDsKCmludCBtYWluKCkKewoJaW50IHQ9MDsKCWNpbj4+IHQ7Cgl3aGlsZSh0LS0pewoJCUxMIG47CgkJc3RhY2s8aW50PkEsQjsKCgkJY2luPj4gbjsKCQl2ZWN0b3I8aW50PmlucHQsb3V0cChuKTsKCgkJLy9mb3IgZW50ZXJpbmcgdGhlIGRhdGEgdG8gdGhlIGxvb3AKCQlpbnQgZWxlOwoJCWZvcihMTCBpPSAwO2k8IG47aSsrICl7CgkJCWNpbiA+PiBlbGU7IEEucHVzaChlbGUpOyBpbnB0LnB1c2hfYmFjayhlbGUpOwoKCQl9CgoJCS8vZm9yKGludCBpPTA7aTwgaW5wdC5zaXplKCk7aSsrKSBjb3V0PDwgaW5wdFtpXTw8IGVuZGw7CgoJCQoKCQkvL2ZvciBuZXh0IHBlcm11dGF0aW9uLgoKCQlsb25nICBtLGJpbj0wLCB0PTE7TEwgIG51bSA9IG4tMTsKCQliaW4gPSBBLnRvcCgpOyBBLnBvcCgpOwoJCUIucHVzaChiaW4pOwoKCQl3aGlsZSghQS5lbXB0eSgpICYmIHQpewoJCQltID0gQS50b3AoKTsgQS5wb3AoKTsKCQkJaWYobT49IGJpbil7CgkJCQliaW4gPSBtOwoJCQkJQi5wdXNoKGJpbik7CgkJCX0KCQkJZWxzZXsKCQkJCXQ9MDsKCQkJfQoJCQludW0tLTsKCQl9CgoKCQl3aGlsZSghQi5lbXB0eSgpKXsKCQkJQS5wdXNoKEIudG9wKCkpO0IucG9wKCk7CgkJfQoKCQlpZihudW0hPTApewoJCQlBLnB1c2gobSk7CgkJfQoKCQlmb3IoTEwgaT1uLTE7aT49MDtpLS0pewoJCQlvdXRwW2ldPSBBLnRvcCgpO0EucG9wKCk7CgoJCX0KCgoJCQoJCWlmKGlucHQgPT0gb3V0cCl7Y291dDw8IC0xO30KCQllbHNle2ZvcihMTCBpPTA7aTxvdXRwLnNpemUoKTtpKyspCgkJCQljb3V0PDwgb3V0cFtpXTt9CgoKCWNvdXQ8PCBlbmRsOwoJfQoKCXJldHVybiAwOwp9