package arrays;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class formbiggestnumber {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
int t = scn.nextInt();
for (int i = 0; i < t; i++) {
int n = scn.nextInt();
String[] numbers = new String[n];
for (int j = 0; j < n; j++) {
numbers[j] = scn.next();
}
biggestno(numbers,n);
}
}
public static void biggestno(String[] numbers,int n) {
String big = "";
for (int i = 0; i < numbers.length; i++) {
big = big + numbers[i];
}
ArrayList<String> my= permutationget(big);
Collections.sort(my);
System.out.println(my);
}
public static ArrayList<String> permutationget(String str) {
if (str.length() == 0) {
ArrayList<String> br = new ArrayList<>();
br.add("");
return br;
}
char ch = str.charAt(0);
String ros = str.substring(1);
ArrayList<String> rr = permutationget(ros);
ArrayList<String> mr = new ArrayList<>();
for (String rrs : rr) {
for (int i=0;i<=rrs.length();i++) {
String val=rrs.substring(0,i)+ch+str.substring(i);
mr.add(val);
}
}
return mr;
}
}
sir is this approach is right ???