####加上判断N==0就过,之前四个UKE
#include <iostream>
#include <set>
#include <algorithm>
#include <cstring>
using namespace std;
int main() {
int a[101][2];
memset(a, 0, sizeof a);
int N;
cin >> N;
//if (N == 0)
// return 0;
string str;
cin >> str;
for (int i = 1; i <= N; i++) {
a[i][0]=str[i-1]-'0';
a[i][1] = 1;
}
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= N; j++) {
switch (a[j][0]) {
case 0:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "X.X";
break;
case 3:
cout << "X.X";
break;
case 4:
cout << "X.X";
break;
case 5:
cout << "XXX";
break;
}
break;
case 1:
switch (a[j][1]) {
case 1:
cout << "..X";
break;
case 2:
cout << "..X";
break;
case 3:
cout << "..X";
break;
case 4:
cout << "..X";
break;
case 5:
cout << "..X";
break;
}
break;
case 2:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "..X";
break;
case 3:
cout << "XXX";
break;
case 4:
cout << "X..";
break;
case 5:
cout << "XXX";
break;
}
break;
case 3:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "..X";
break;
case 3:
cout << "XXX";
break;
case 4:
cout << "..X";
break;
case 5:
cout << "XXX";
break;
}
break;
case 4:
switch (a[j][1]) {
case 1:
cout << "X.X";
break;
case 2:
cout << "X.X";
break;
case 3:
cout << "XXX";
break;
case 4:
cout << "..X";
break;
case 5:
cout << "..X";
break;
}
break;
case 5:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "X..";
break;
case 3:
cout << "XXX";
break;
case 4:
cout << "..X";
break;
case 5:
cout << "XXX";
break;
}
break;
case 6:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "X..";
break;
case 3:
cout << "XXX";
break;
case 4:
cout << "X.X";
break;
case 5:
cout << "XXX";
break;
}
break;
case 7:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "..X";
break;
case 3:
cout << "..X";
break;
case 4:
cout << "..X";
break;
case 5:
cout << "..X";
break;
}
break;
case 8:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "X.X";
break;
case 3:
cout << "XXX";
break;
case 4:
cout << "X.X";
break;
case 5:
cout << "XXX";
break;
}
break;
case 9:
switch (a[j][1]) {
case 1:
cout << "XXX";
break;
case 2:
cout << "X.X";
break;
case 3:
cout << "XXX";
break;
case 4:
cout << "..X";
break;
case 5:
cout << "XXX";
break;
}
break;
}
a[j][1]++;
if (j!=N)cout << ".";
}
cout << "\n";
}
return 0;
}