#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
bool cmp(int a,int b)
{
/*扩大两倍两个同类型字母正好差2,中间可以放一个大(小)写字母
* 'a'<'B'<'b' -> 194<195<196
*其实不乘2,+31.5也可以,但要变成int
*/
return (a = (a>=97)?2*a:2*a+63)<(b = (b>=97)?2*b:2*b+63);
}
int main()
{
char str[20];
int n;
scanf("%d",&n);
getchar();
while(n--)
{
gets(str);
sort(str,str+strlen(str),cmp);
do
{
puts(str);
}
while(next_permutation(str,str+strlen(str),cmp));
}
return 0;
}

京公网安备 11010502036488号