/为什么是0分哇,输出看着一模一样/
#include<stdio.h>
#include<math.h>
int n,i,j,t;
int a[5][399];
int main(){
scanf("%d",&n);
for(i=0;i<5;i++){
for(j=0;j<4*n-1;j++){
a[i][j]='.';
}
}
getchar();
for(j=0;j<n;j++){
t=getchar();
t-='0';
i=4*j;
switch(t){
case 0:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i]=a[1][i+2]=a[2][i]=a[2][i+2]=a[3][i]=a[3][i+2]=a[4][i]=a[4][i+1]=a[4][i+2]='X'; break;
case 1:a[0][i+2]=a[1][i+2]=a[2][i+2]=a[3][i+2]=a[4][i+2]='X'; break;
case 2:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i+2]=a[2][i]=a[2][i+1]=a[2][i+2]=a[3][i]=a[4][i]=a[4][i+1]=a[4][i+2]='X'; break;
case 3:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i+2]=a[2][i]=a[2][i+1]=a[2][i+2]=a[3][i+2]=a[4][i]=a[4][i+1]=a[4][i+2]='X'; break;
case 4:a[0][i]=a[0][i+2]=a[1][i]=a[1][i+2]=a[2][i]=a[2][i+1]=a[2][i+2]=a[3][i+2]=a[4][i+2]='X'; break;
case 5:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i]=a[2][i]=a[2][i+1]=a[2][i+2]=a[3][i+2]=a[4][i]=a[4][i+1]=a[4][i+2]='X'; break;
case 6:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i]=a[2][i]=a[2][i+1]=a[2][i+2]=a[3][i]=a[3][i+2]=a[4][i]=a[4][i+1]=a[4][i+2]='X'; break;
case 7:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i+2]=a[2][i+2]=a[3][i+2]=a[4][i+2]='X'; break;
case 8:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i]=a[1][i+2]=a[2][i]=a[2][i+1]=a[2][i+2]=a[3][i]=a[3][i+2]=a[4][i]=a[4][i+1]=a[4][i+2]='X'; break;
case 9:a[0][i]=a[0][i+1]=a[0][i+2]=a[1][i]=a[1][i+2]=a[2][i]=a[2][i+1]=a[2][i+2]=a[3][i+2]=a[4][i]=a[4][i+1]=a[4][i+2]='X'; break;
}
}
for(i=0;i<5;i++){
for(j=0;j<4*n-1;j++){
printf("%c",a[i][j]);
}
printf("\n");
}
return 0;
}