import sys input = sys.stdin.readline from collections import Counter T=int(input()) for tests in range(T): N=int(input()) S=input().split() flag=1 for i in range(N): if i==0: S[i]="".join(sorted(S[i])) continue Y=list(S[i-1]) Z=sorted(S[i],reverse=True) if Y>Z: flag=0 break X=[] C=Counter(S[i]) for j in range(len(S[i])): flag2=0 if j0: X+=[Y[j]] C[Y[j]]-=1 XX=[] for a in "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[::-1]: XX+=a*C[a] if X+XX>=Y: flag2=1 else: C[Y[j]]+=1 X.pop() if flag2==0: if jY[j] and C[a]>0: X+=[a] C[a]-=1 break for a in "ABCDEFGHIJKLMNOPQRSTUVWXYZ": X+=a*C[a] break S[i]="".join(X) #print(S) if flag==0: ANS="IMPOSSIBLE" else: ANS="POSSIBLE\n"+" ".join(S) print("Case #"+str(tests+1)+": "+str(ANS))