#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int a[13];
int b[13];
int jiecheng(int n){
if(n == 1){
a[n] = 1;
return a[n];
}
a[n] = n * jiecheng(n - 1);
return a[n];
}
void ktuse(int n){
int num;
int i, j, k;
int count;
num = n - 1;
for(i = 11; i > 0; i--){
count = (num / a[i]) + 1;
num = num % a[i];
k = 0;
j = 0;
while(1){
k++;
if(b[k] == 0){
j++;
}
if(j == count){
printf("%c",k - 1 + 'a');
b[k] = 1;
break;
}
}
}
for(i = 1; i <= 12; i++){
if(b[i] == 0){
printf("%c", i - 1 + 'a');
}
}
}
int main()
{
int n;
int n2;
scanf("%d", &n);
getchar();
while(n--){
scanf("%d", &n2);
getchar();
memset(a, 0, sizeof(int) * 13);
memset(b, 0, sizeof(int) * 13);
jiecheng(12);
ktuse(n2);
printf("\n");
}
return 0;
}
#include<stdlib.h>
#include<string.h>
int a[13];
int b[13];
int jiecheng(int n){
if(n == 1){
a[n] = 1;
return a[n];
}
a[n] = n * jiecheng(n - 1);
return a[n];
}
void ktuse(int n){
int num;
int i, j, k;
int count;
num = n - 1;
for(i = 11; i > 0; i--){
count = (num / a[i]) + 1;
num = num % a[i];
k = 0;
j = 0;
while(1){
k++;
if(b[k] == 0){
j++;
}
if(j == count){
printf("%c",k - 1 + 'a');
b[k] = 1;
break;
}
}
}
for(i = 1; i <= 12; i++){
if(b[i] == 0){
printf("%c", i - 1 + 'a');
}
}
}
int main()
{
int n;
int n2;
scanf("%d", &n);
getchar();
while(n--){
scanf("%d", &n2);
getchar();
memset(a, 0, sizeof(int) * 13);
memset(b, 0, sizeof(int) * 13);
jiecheng(12);
ktuse(n2);
printf("\n");
}
return 0;
}