#include <stdio.h>
#define MAXN 11
int n, q[MAXN], queens[92], cnt, hashTable[MAXN];
int abs(int a);
void generateQ(int index);
int main(){
int i;
for (i = 0; i < MAXN; ++i)
hashTable[i] = 0;
cnt = 0;
n = 8;
generateQ(1);
int N, M;
while (scanf("%d", &N) != EOF){
while (N--){
scanf("%d", &M);
printf("%d\n", queens[M-1]);
}
}
return 0;
}
int abs(int a){
return a > 0 ? a : -a;
}
void generateQ(int index){
int i, pre;
if (index == n + 1){
int temp = 0;
for (i = 1; i <= n; ++i){
temp *= 10;
temp += q[i];
}
queens[cnt++] = temp;
return;
}
for (i = 1; i <= n; ++i){
if (!hashTable[i]){
int flag = 1;
for (pre = 1; pre < index; ++pre){
if(abs(index - pre) == abs(i - q[pre])){
flag = 0;
break;
}
}
if (flag){
q[index] = i;
hashTable[i] = 1;
generateQ(index + 1);
hashTable[i] = 0;
}
}
}
}