#include<iostream>
#include<stdlib.h>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--)
{
long long n;
cin>>n;
int i,temp,f=0,min1,min2;
int *p = (int*)malloc(sizeof(int)*n);
for(i=0;i<n;i++)
{
cin>>p[i];
}
vector<int> s;
vector<int>::iterator v;
s.push_back(p[n-1]);
for(i=n-2;i>=0;i--)
{
int l = s.size();
if(p[i]>=s[l-1])
{
s.push_back(p[i]);
}
else
{
f = 1;
break;
}
}
if(f == 0)
{
cout<<"-1"<<endl;
}
else
{
min1 = *min_element(s.begin(),s.end());
sort(s.begin(),s.end());
s.push_back(p[i]);
min2 = *min_element(s.begin(),s.end());
if(min1!=min2)
{
v = s.begin();
v++;
sort(v,s.end());
for(v = s.begin(); v!= s.end();v++)
{
p[i]=*v;
i++;
}
}
else
{
s.pop_back();
int ele = s.back();
p[i+1] = p[i];
p[i] = ele;
}
for(i=0;i<n;i++)
{
cout<<p[i];
}
cout<<endl;
}
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0ZGxpYi5oPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPGFsZ29yaXRobT4KIAp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpCnsKICAgIGludCB0OwogICAgY2luPj50OwogICAgd2hpbGUodC0tKQogICAgewogICAgICAgIGxvbmcgbG9uZyBuOwogICAgICAgIGNpbj4+bjsKICAgICAgICBpbnQgaSx0ZW1wLGY9MCxtaW4xLG1pbjI7CiAgICAgICAgaW50ICpwID0gKGludCopbWFsbG9jKHNpemVvZihpbnQpKm4pOwogICAgICAgIGZvcihpPTA7aTxuO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGNpbj4+cFtpXTsKICAgICAgICB9CiAgICAgICAgdmVjdG9yPGludD4gczsKICAgICAgICB2ZWN0b3I8aW50Pjo6aXRlcmF0b3IgdjsKICAgICAgICBzLnB1c2hfYmFjayhwW24tMV0pOwogICAgICAgIGZvcihpPW4tMjtpPj0wO2ktLSkKICAgICAgICB7CiAgICAgICAgICAgIGludCBsID0gcy5zaXplKCk7CiAgICAgICAgICAgIGlmKHBbaV0+PXNbbC0xXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcy5wdXNoX2JhY2socFtpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmID0gMTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKGYgPT0gMCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PCItMSI8PGVuZGw7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgCW1pbjEgPSAqbWluX2VsZW1lbnQocy5iZWdpbigpLHMuZW5kKCkpOwogICAgICAgIAlzb3J0KHMuYmVnaW4oKSxzLmVuZCgpKTsKICAgICAgICAgICAgcy5wdXNoX2JhY2socFtpXSk7CiAgICAgICAgICAgIG1pbjIgPSAqbWluX2VsZW1lbnQocy5iZWdpbigpLHMuZW5kKCkpOwogICAgICAgICAgICBpZihtaW4xIT1taW4yKQogICAgICAgICAgICB7CgkgICAgICAgICAgICB2ID0gcy5iZWdpbigpOwoJICAgICAgICAgICAgdisrOwoJICAgICAgICAgICAgc29ydCh2LHMuZW5kKCkpOwoJICAgICAgICAgICAgZm9yKHYgPSBzLmJlZ2luKCk7IHYhPSBzLmVuZCgpO3YrKykKCSAgICAgICAgCXsKCSAgICAgICAgICAgIAlwW2ldPSp2OwoJICAgICAgICAgICAgCWkrKzsKCSAgICAgICAgCX0KCSAgICAgICAgfQoJICAgICAgICBlbHNlCgkgICAgICAgIHsKCSAgICAgICAgCXMucG9wX2JhY2soKTsKCSAgICAgICAgCWludCBlbGUgPSBzLmJhY2soKTsKCSAgICAgICAgCXBbaSsxXSA9IHBbaV07CiAgICAgICAgICAgIAlwW2ldID0gZWxlOwoJCQl9CiAgICAgICAgICAgIGZvcihpPTA7aTxuO2krKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgY291dDw8cFtpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0PDxlbmRsOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9IA==