Solve the programming task below in a Python markdown code block.
Chan has decided to make a list of all possible combinations of letters of a given string S. If there are two strings with the same set of characters, print the lexicographically smallest arrangement of the two strings. 

abc acb cab bac bca

all the above strings' lexicographically smallest string is abc. 

Each character in the string S is unique. Your task is to print the entire list of Chan's in lexicographic order. 

for string abc, the list in lexicographic order is given below

a ab abc ac b bc c

Input Format 

The first line contains the number of test cases T. T testcases follow. 

Each testcase has 2 lines. The first line is an integer N ( the length of the string). 

The second line contains the string S.  

Output Format 

For each testcase, print the entire list of combinations of string S, with each combination of letters in a newline.

Constraints 

0< T< 50 

1< N< 16 

string S contains only small alphabets(a-z) 

Sample Input

2
2
ab
3
xyz

Sample Output

a
ab
b
x
xy
xyz
xz
y
yz
z

Explanation 

In the first case we have ab, the possibilities are a, ab and b. Similarly, all combination of characters of xyz.