#include<bits/stdc++.h>
using namespace std;
#define FR0(i,N) for(i=0;i<(N);i++)
#define FR1(i,N) for(i=1;i<=(N);i++)
#define FRN(i,k,N) for(i=k;i<(N);i++)
#define pf printf
#define db double
#define max3(a,b,c) max(max(a,b),c)
#define min3(a,b,c) min(min(a,b),c)
#define sci(n) scanf("%d",&n)
#define scl(n) scanf("%lld",&n)
#define scf(n) scanf("%f",&n)
#define scd(n) scanf("%lf",&n)
#define scs(s) scanf("%s",&s)
#define scll(n) scanf("%%I64d",&n)
#define PI acos(-1.0)
#define LL long long
#define MX 1000005
#define MOD 1000000007
typedef long long int ll;
bool status[1100002];
int main()
{
int s;
string n;
int h[10][3];//horizontal line array size .here 9 means it may be 1,2,3,4,5,6,7,8,9 and 3 means here any number to made need maximum 3 horizontal line.
h[0][0]=h[0][2]=1;//horizontal line for 0;
h[0][1]=0;
h[1][0]=h[1][1]=h[1][2]=0;//horizontal line for 1;
h[2][0]=h[2][1]=h[2][2]=1; //horizontal line for 2;
h[3][0]=h[3][1]=h[3][2]=1; //horizontal line for 3;
h[4][1]=1;
h[4][0]=h[4][2]=0; //horizontal line for 4;
h[5][0]=h[5][1]=h[5][2]=1;//horizontal line for 5;
h[6][0]=h[6][1]=h[6][2]=1; //horizontal line for 6;
h[7][0]=1;//horizontal line for 7;
h[7][1]=h[7][2]=0;
h[8][0]=h[8][1]=h[8][2]=1;//horizontal line for 8;
h[9][0]=h[9][1]=h[9][2]=1;//horizontal line for 9;
int v[10][4];//vertical line array size.Here 9 means digit can be 1,2,3,4,5,6,7,8,9 and 3 means vertical line can be maximum 4 for any digit representation;
v[0][1]=v[0][3]=v[0][0]=v[0][2]=1;//vertical line for digit 0;
v[1][1]=v[1][3]=1;//vertical line for digit 1;
v[1][0]=v[1][2]=0;
v[2][1]=v[2][2]=1;//vertical line representation for digit 2;
v[2][0]=v[2][3]=0;
v[3][1]=v[3][3]=1;//vertical line representation for digit 3;
v[3][0]=v[3][2]=0;
v[4][0]=v[4][1]=v[4][3]=1;//vertical line representation for digit 4;
v[4][2]=0;
v[5][0]=v[5][3]=1;//vertical line representation for digit 5;
v[5][1]=v[5][2]=0;
v[6][0]=v[6][2]=v[6][3]=1;//vertical line representation for digit 6;
v[6][1]=0;
v[7][1]=v[7][3]=1;//vertical line representation for digit 7;
v[7][0]=v[7][2]=0;
v[8][0]=v[8][1]=v[8][2]=v[8][3]=1;//vertical line representation for digit 8;
v[9][0]=v[9][1]=v[9][3]=1;//vertical line representation for digit 9;
v[9][2]=0;
while(cin>>s>>n)
{
//cout<<"f"<<endl;
if(s==0) break;
//cout<<"check"<<endl;
for(int i=0; i<n.length(); i++) //Stating first horizontal checking
{
if(i!=0)
{
//cout<<" ";
pf(" ");
}
//cout<<" ";
pf(" ");
// cout<<"pass"<<endl;
if(h[n[i]-'0'][0])
{
for(int j=0; j<s; j++)
{
//cout<<"-";
pf("-");
}
}
else
{
for(int j=0; j<s; j++)
{
//cout<<" ";
pf(" ");
}
}
// cout<<" ";
pf(" ");
}
//cout<<endl;//End of first horizontal checking;
pf("\n");
//cout<<"yes"<<endl;
for(int j=0; j<s; j++) //Checking start 1st and 2nd vertical line for each digit;
{
for(int i=0; i<n.length(); i++)
{
if(i!=0)
{
// cout<<" ";
pf(" ");
}
if(v[n[i]-'0'][0])
{
//cout<<"|";
pf("|");
}
else
{
///cout<<" ";
pf(" ");
}
for(int i=0; i<s; i++)
{
//cout<<" ";
pf(" ");
}
if(v[n[i]-'0'][1])
{
//cout<<"|";
pf("|");
}
else
{
//cout<<" ";
pf(" ");
}
}
//cout<<endl;//Checking end 1st and 2nd vertical line for each digit;
pf("\n");
}
for(int i=0; i<n.length(); i++)//Checking start 2nd horizontal for each digit representation;
{
if(i!=0)
{
//cout<<" ";
pf(" ");
}
cout<<" ";
if(h[n[i]-'0'][1])
{
for(int j=0; j<s; j++)
{
//cout<<"-";
pf("-");
}
}
else
{
for(int j=0; j<s; j++)
{
//cout<<" ";
pf(" ");
}
}
//cout<<" ";
pf(" ");
}
//cout<<endl;//Checking start 2nd horizontal for each digit representation;
pf("\n");
for(int j=0; j<s; j++) //Checking start 3rd and 4th vertical for each digit representation;
{
for(int i=0; i<n.length(); i++)
{
if(i!=0)
{
//cout<<" ";
pf(" ");
}
if(v[n[i]-'0'][2])
{
//cout<<"|";
pf("|");
}
else
{
//cout<<" ";
pf(" ");
}
for(int i=0; i<s; i++)
{
//cout<<" ";
pf(" ");
}
if(v[n[i]-'0'][3])
{
//cout<<"|";
pf("|");
}
else
{
//cout<<" ";
pf(" ");
}
}
//cout<<endl;//Checking end 3rd and 4th vertical for each digit representation;
pf("\n");
}
for(int i=0; i<n.length(); i++) //Stating 3rd horizontal checking
{
if(i!=0)
{
//cout<<" ";
pf(" ");
}
//cout<<" ";
pf(" ");
if(h[n[i]-'0'][2])
{
for(int j=0; j<s; j++)
{
//cout<<"-";
pf("-");
}
}
else
{
for(int j=0; j<s; j++)
{
//cout<<" ";
pf(" ");
}
}
//cout<<" ";
pf(" ");
}
//cout<<endl<<endl;//end 3rd horizontal checking
pf("\n\n");
}
}