/*
   通过这题 学会了 两个词组 immediately to the left 是左邻的意思
    immediately to the right 这个是右邻的意思
*/

#include <iostream>
#include<string.h>
#include<cstdio>
using namespace std;
const int maxn=50;
int N[2][maxn];
int DNA[10];
char str[]={' ','.','x','W'};
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
        for(int i=0;i<10;i++)
          scanf("%d",&DNA[i]);
          memset(N,0,sizeof(N));
          N[0][20]=1;
          int d=0;
          for(int j=1;j<=50;j++){
            for(int i=1;i<=40;i++){
                int D=N[d][i]+N[d][i-1]+N[d][i+1];
                N[d^1][i]=DNA[D];
            }
            for(int i=1;i<=40;i++)
              printf("%c",str[N[d][i]]);
              d=d^1;
              printf("\n");
          }
          if(t!=0) printf("\n");
    }

    return 0;
}