#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
#define maxn 93
#define n 8
int i=1,P[maxn][n]={0},T[n+1];
bool HashTable[maxn]={false};
void generateT(int t)
{
if(t==n+1)
{
for(int k=0;k<n;++k)
{
P[i][k]=T[k+1];
}
++i;
return;
}
for(int k=1;k<=n;k++)
{
if(HashTable[k]==false)
{
bool flag=true;
for(int j=1;j<t;++j)
{
if(abs(t-j)==abs(k-T[j]))
{
flag=false;
break;
}
}
if(flag)
{
T[t]=k;
HashTable[k]=true;
generateT(t+1);
HashTable[k]=false;
}
}
}
}
int main()
{
int m,index;
cin>>m;
generateT(1);
while(m--)
{
cin>>index;
for(int i=0;i<n;++i)
{
printf("%d",P[index][i]);
}
printf("\n");
}
return 0;
}