//简单模拟 #include<stdio.h> #include<string.h> int s; int black(int k) { int i; for(i=0;i<k;i++) printf(" "); return 0; } int heng(int k) { int i; for(i=0;i<k;i++) printf("-"); return 0; } char n[10]; int print() { int i,j,len=strlen(n),t; for(i=0;i<2*s+3;i++) { for(j=0;j<len;j++) { if(i==0) { switch(n[j]) { case '1': case '4': black(s+2); break; default : black(1); heng(s); black(1); break; } } else if(i==s+1) { switch(n[j]) { case '1': case '7': case '0': black(s+2); break; default: black(1); heng(s); black(1); break; } } else if(i==2*s+2) { switch(n[j]) { case '1': case '4': case '7': black(s+2); break; default: black(1); heng(s); black(1); break; } } else if(i>0&&i<s+1) { switch(n[j]) { case '1': case '2': case '3': case '7': black(s+1); printf("|"); break; case '5': case '6': printf("|"); black(s+1); break; default: printf("|"); black(s); printf("|"); break; } } else { switch(n[j]) { case '1': case '3': case '4': case '5': case '7': case '9': black(s+1); printf("|"); break; case '2': printf("|"); black(s+1); break; default: printf("|"); black(s); printf("|"); break; } } if(j!=len-1) black(1); else printf("/n"); } } return 0; } int main() { while(scanf("%d%s",&s,n)==2) { if(s==0&&n[0]=='0') break; print(); printf("/n"); } return 0; }