#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int t, n, i;
cin>>t;
while(t--)
{
cin>>n;
vector<int> ar(n);
for (i=0;i<n;i++) cin>>ar[i];
stack<int> st1, st2;
bool flag=false;
for (i=n-1;i>0;i--)
{
if (ar[i-1]>=ar[i])
st1.push(ar[i]);
else
{
st1.push(ar[i]);
flag=true;
break;
}
}
if (!flag)
cout<<-1<<"\n";
else
{
while(!st1.empty() and ar[i-1]<st1.top())
{
st2.push(st1.top());
st1.pop();
}
int tmp=ar[i-1];
ar[i-1]=st2.top();
st2.pop();
while(!st1.empty() and i<n)
{
ar[i]=st1.top();
st1.pop();
i++;
}
if (i<n)
ar[i]=tmp, i++;
while(!st2.empty() and i<n)
{
ar[i]=st2.top();
st2.pop();
i++;
}
for (i=0;i<n;i++) cout<<ar[i];
cout<<"\n";
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZSgwKTsgY291dC50aWUoMCk7CglpbnQgdCwgbiwgaTsKCWNpbj4+dDsKCXdoaWxlKHQtLSkKCXsKCSAgICBjaW4+Pm47CgkgICAgdmVjdG9yPGludD4gYXIobik7CgkgICAgZm9yIChpPTA7aTxuO2krKykgY2luPj5hcltpXTsKCSAgICBzdGFjazxpbnQ+IHN0MSwgc3QyOwoJICAgIGJvb2wgZmxhZz1mYWxzZTsKCSAgICBmb3IgKGk9bi0xO2k+MDtpLS0pCgkgICAgewoJICAgICAgICBpZiAoYXJbaS0xXT49YXJbaV0pCgkgICAgICAgIHN0MS5wdXNoKGFyW2ldKTsKCSAgICAgICAgZWxzZQoJICAgICAgICB7CgkgICAgICAgICAgICBzdDEucHVzaChhcltpXSk7CgkgICAgICAgICAgICBmbGFnPXRydWU7CgkgICAgICAgICAgICBicmVhazsKCSAgICAgICAgfQoJICAgIH0KCSAgICBpZiAoIWZsYWcpCgkgICAgY291dDw8LTE8PCJcbiI7CgkgICAgZWxzZQoJICAgIHsKICAgIAkgICAgd2hpbGUoIXN0MS5lbXB0eSgpIGFuZCBhcltpLTFdPHN0MS50b3AoKSkKICAgIAkgICAgewogICAgCSAgICAgICAgc3QyLnB1c2goc3QxLnRvcCgpKTsKICAgIAkgICAgICAgIHN0MS5wb3AoKTsKICAgIAkgICAgfQogICAgCSAgICBpbnQgdG1wPWFyW2ktMV07CiAgICAJICAgIGFyW2ktMV09c3QyLnRvcCgpOwogICAgCSAgICBzdDIucG9wKCk7CiAgICAJICAgIHdoaWxlKCFzdDEuZW1wdHkoKSBhbmQgaTxuKQogICAgCSAgICB7CiAgICAJICAgICAgICBhcltpXT1zdDEudG9wKCk7CiAgICAJICAgICAgICBzdDEucG9wKCk7CiAgICAJICAgICAgICBpKys7CiAgICAJICAgIH0KICAgIAkgICAgaWYgKGk8bikKICAgIAkgICAgYXJbaV09dG1wLCBpKys7CiAgICAJICAgIHdoaWxlKCFzdDIuZW1wdHkoKSBhbmQgaTxuKQogICAgCSAgICB7CiAgICAJICAgICAgICBhcltpXT1zdDIudG9wKCk7CiAgICAJICAgICAgICBzdDIucG9wKCk7CiAgICAJICAgICAgICBpKys7CiAgICAJICAgIH0KICAgIAkgICAgZm9yIChpPTA7aTxuO2krKykgY291dDw8YXJbaV07CiAgICAJICAgIGNvdXQ8PCJcbiI7CgkgICAgfQoJfQoJcmV0dXJuIDA7Cn0K