#include <stdio.h>
int a[1010],p[1010],w[1010],m[1010];
int ans=0;
int f(int i,int b){
int j;
for(j=1;j<=8;j++){ //每个皇后都有8个位置【列】可以试放
if(!p[j]&&!w[j-i+7]&&!m[j+i]){ //寻找放置皇后的位置 /\斜线
a[i]=j; //摆放皇后
p[j]=1; //宣布占领第J列
w[j-i+7]=1; //占领对角线\\\\\\ 斜线
m[j+i]=1; //占领对角线// 斜线
if(i==8){ //8个皇后都放置好,则输出
ans++;
if(ans==b){
int k;
for(k=1;k<=8;k++) printf("%d",a[k]);
printf("\n");
}
}
else f(i+1,b); //继续递归放置下一个皇后
p[j]=0; //回溯:递归返回,当前皇后退出
w[j-i+7]=0;
m[j+i]=0;
}
}
}
int main(){
int n,b;
scanf("%d",&n);
while(n--){
scanf("%d",&b);
ans=0;
f(1,b);
}
return 0;
}