import java.util.* ;
import java.lang.* ;
class Main
{
{
Scanner sc
= new Scanner
( System .
in ) ; int t= sc.nextInt ( ) ;
while ( t--> 0 )
{
int n= sc.nextInt ( ) ;
int arr[ ] = new int [ n] ;
for ( int i= 0 ; i< n; i++ )
{
arr[ i] = sc.nextInt ( ) ;
}
String ans
= getnextpermutaion
( arr
) ; //System.out.println(ans);
}
}
private static String getnextpermutaion
( int [ ] arr
) { // TODO Auto-generated method stub
int n= arr.length ;
int ind= n- 2 ;
while ( ind>= 0 && arr[ ind] > arr[ ind+ 1 ] )
{
ind--;
}
//System.out.println(ind);
if ( ind==- 1 )
{
//ans+=-1;
return null ;
}
int l=- 1 ;
int num= arr[ ind] ;
int uplimit= 10 ;
for ( int i= ind+ 1 ; i< n; i++ )
{
if ( arr[ i] > num&& arr[ i] < uplimit)
{
l= i;
uplimit= arr[ i] ;
}
}
//System.out.println(l);
int temp= arr[ ind] ;
arr[ ind] = arr[ l] ;
arr[ l] = temp;
for ( int i= 0 ; i< n; i++ )
{
//ans+=arr[i];
}
return null ;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluCnsKCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTY2FubmVyIHNjPW5ldyBTY2FubmVyKFN5c3RlbS5pbik7CgkJaW50IHQ9c2MubmV4dEludCgpOwoJCXdoaWxlKHQtLT4wKQoJCXsKCQkJaW50IG49c2MubmV4dEludCgpOwoJCQkKCQkJaW50IGFycltdPW5ldyBpbnRbbl07CgkJCWZvcihpbnQgaT0wO2k8bjtpKyspCgkJCXsKCQkJCWFycltpXT1zYy5uZXh0SW50KCk7CgkJCX0KCQkJU3RyaW5nIGFucz1nZXRuZXh0cGVybXV0YWlvbihhcnIpOwoJCQlTeXN0ZW0ub3V0LnByaW50bG4oKTsKCQkJLy9TeXN0ZW0ub3V0LnByaW50bG4oYW5zKTsKCQl9Cgl9CgoJcHJpdmF0ZSBzdGF0aWMgU3RyaW5nIGdldG5leHRwZXJtdXRhaW9uKGludFtdIGFycikgewoJCS8vIFRPRE8gQXV0by1nZW5lcmF0ZWQgbWV0aG9kIHN0dWIKCgkJU3RyaW5nIGFucz0iIjsKCQlpbnQgbj1hcnIubGVuZ3RoOwoJCWludCBpbmQ9bi0yOwoJCXdoaWxlKGluZD49MCYmYXJyW2luZF0+YXJyW2luZCsxXSkKCQl7CgkJCWluZC0tOwoJCX0KCQkvL1N5c3RlbS5vdXQucHJpbnRsbihpbmQpOwoJCWlmKGluZD09LTEpCgkJewoJCQkvL2Fucys9LTE7CgkJCVN5c3RlbS5vdXQucHJpbnQoIi0xIik7CgkJCXJldHVybiBudWxsOwoJCX0KCQlpbnQgbD0tMTsKCQlpbnQgbnVtPWFycltpbmRdOwoJCWludCB1cGxpbWl0PTEwOwoJCWZvcihpbnQgaT1pbmQrMTtpPG47aSsrKQoJCXsKCQkJaWYoYXJyW2ldPm51bSYmYXJyW2ldPHVwbGltaXQpCgkJCXsKCQkJCWw9aTsKCQkJCXVwbGltaXQ9YXJyW2ldOwoJCQl9CgkJfQoJCS8vU3lzdGVtLm91dC5wcmludGxuKGwpOwoJCWludCB0ZW1wPWFycltpbmRdOwoJCWFycltpbmRdPWFycltsXTsKCQlhcnJbbF09dGVtcDsKCQlBcnJheXMuc29ydChhcnIsIGluZCsxLCBuKTsKCQlmb3IoaW50IGk9MDtpPG47aSsrKQoJCXsKCQkJU3lzdGVtLm91dC5wcmludChhcnJbaV0pOwoJCQkvL2Fucys9YXJyW2ldOwoJCX0KCQlyZXR1cm4gbnVsbDsKCX0KfQo=