#include <stdio.h>
int main()
{
char str1[30]="XXX..XXXXXXXX.XXXXXXXXXXXXXXXX";
char str2[30]="X.X..X..X..XX.XX..X....XX.XX.X";
char str3[30]="X.X..XXXXXXXXXXXXXXXX..XXXXXXX";
char str4[30]="X.X..XX....X..X..XX.X..XX.X..X";
char str5[30]="XXX..XXXXXXX..XXXXXXX..XXXXXXX";
int n;
scanf("%d",&n);
int i,j;
int data[100];
char str[100];
scanf("%s",str);
for(i=0;i<n;i++)
{
if(str[i]=='0') data[i]=0;
else if(str[i]=='1') data[i]=1;
else if(str[i]=='2') data[i]=2;
else if(str[i]=='3') data[i]=3;
else if(str[i]=='4') data[i]=4;
else if(str[i]=='5') data[i]=5;
else if(str[i]=='6') data[i]=6;
else if(str[i]=='7') data[i]=7;
else if(str[i]=='8') data[i]=8;
else if(str[i]=='9') data[i]=9;
}
for(j=0;j<5;j++)
{
for(i=0;i<n;i++)
{
if(j==0)
{
switch(data[i]){
case 0:printf("%c%c%c",str1[0],str1[1],str1[2]);break;
case 1:printf("%c%c%c",str1[3],str1[4],str1[5]);break;
case 2:printf("%c%c%c",str1[6],str1[7],str1[8]);break;
case 3:printf("%c%c%c",str1[9],str1[10],str1[11]);break;
case 4:printf("%c%c%c",str1[12],str1[13],str1[14]);break;
case 5:printf("%c%c%c",str1[15],str1[16],str1[17]);break;
case 6:printf("%c%c%c",str1[18],str1[19],str1[20]);break;
case 7:printf("%c%c%c",str1[21],str1[22],str1[23]);break;
case 8:printf("%c%c%c",str1[24],str1[25],str1[26]);break;
case 9:printf("%c%c%c",str1[27],str1[28],str1[29]);break;
}
if(i<n-1)printf(".");
}
else if(j==1)
{
switch(data[i]){
case 0:printf("%c%c%c",str2[0],str2[1],str2[2]);break;
case 1:printf("%c%c%c",str2[3],str2[4],str2[5]);break;
case 2:printf("%c%c%c",str2[6],str2[7],str2[8]);break;
case 3:printf("%c%c%c",str2[9],str2[10],str2[11]);break;
case 4:printf("%c%c%c",str2[12],str2[13],str2[14]);break;
case 5:printf("%c%c%c",str2[15],str2[16],str2[17]);break;
case 6:printf("%c%c%c",str2[18],str2[19],str2[20]);break;
case 7:printf("%c%c%c",str2[21],str2[22],str2[23]);break;
case 8:printf("%c%c%c",str2[24],str2[25],str2[26]);break;
case 9:printf("%c%c%c",str2[27],str2[28],str2[29]);break;}
if(i<n-1)printf(".");
}
else if(j==2)
{
switch(data[i]){
case 0:printf("%c%c%c",str3[0],str3[1],str3[2]);break;
case 1:printf("%c%c%c",str3[3],str3[4],str3[5]);break;
case 2:printf("%c%c%c",str3[6],str3[7],str3[8]);break;
case 3:printf("%c%c%c",str3[9],str3[10],str3[11]);break;
case 4:printf("%c%c%c",str3[12],str3[13],str3[14]);break;
case 5:printf("%c%c%c",str3[15],str3[16],str3[17]);break;
case 6:printf("%c%c%c",str3[18],str3[19],str3[20]);break;
case 7:printf("%c%c%c",str3[21],str3[22],str3[23]);break;
case 8:printf("%c%c%c",str3[24],str3[25],str3[26]);break;
case 9:printf("%c%c%c",str3[27],str3[28],str3[29]);break;}
if(i<n-1)printf(".");
}
else if(j==3)
{
switch(data[i]){
case 0:printf("%c%c%c",str4[0],str4[1],str4[2]);break;
case 1:printf("%c%c%c",str4[3],str4[4],str4[5]);break;
case 2:printf("%c%c%c",str4[6],str4[7],str4[8]);break;
case 3:printf("%c%c%c",str4[9],str4[10],str4[11]);break;
case 4:printf("%c%c%c",str4[12],str4[13],str4[14]);break;
case 5:printf("%c%c%c",str4[15],str4[16],str4[17]);break;
case 6:printf("%c%c%c",str4[18],str4[19],str4[20]);break;
case 7:printf("%c%c%c",str4[21],str4[22],str4[23]);break;
case 8:printf("%c%c%c",str4[24],str4[25],str4[26]);break;
case 9:printf("%c%c%c",str4[27],str4[28],str4[29]);break;}
if(i<n-1)printf(".");
}
else if(j==4)
{
switch(data[i]){
case 0:printf("%c%c%c",str5[0],str5[1],str5[2]);break;
case 1:printf("%c%c%c",str5[3],str5[4],str5[5]);break;
case 2:printf("%c%c%c",str5[6],str5[7],str5[8]);break;
case 3:printf("%c%c%c",str5[9],str5[10],str5[11]);break;
case 4:printf("%c%c%c",str5[12],str5[13],str5[14]);break;
case 5:printf("%c%c%c",str5[15],str5[16],str5[17]);break;
case 6:printf("%c%c%c",str5[18],str5[19],str5[20]);break;
case 7:printf("%c%c%c",str5[21],str5[22],str5[23]);break;
case 8:printf("%c%c%c",str5[24],str5[25],str5[26]);break;
case 9:printf("%c%c%c",str5[27],str5[28],str5[29]);break;}
if(i<n-1)printf(".");
}
}
printf("\n");
}
return 0;
}