#include<bits/stdc++.h>
using namespace std;
int m,n,mp[55][55],h,w;
char t[605][605];
char ch[10][10]={
{'+','-','-','-','+','.','.'},
{'|',' ',' ',' ','|','/','.'},
{'|',' ',' ',' ','|',' ','+'},
{'+','-','-','-','+',' ','|'},
{'.','/',' ',' ',' ','/','|'},
{'.','.','+','-','-','-','+'}
};
void work(int x,int y){
for(int i=0;i<6;i++){
for(int j=0;j<7;j++){
if (t[x+i][y+j]=='.'){
t[x+i][y+j]=ch[i][j];
}
}
}
h=max(h,x+5);
w=max(w,y+6);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
}
}
memset(t,'.',sizeof(t));
int x=1,y=1,k=0,l=0;
for(int i=1;i<=m;i++){
int xx=x,yy=y;
for(int j=n;j>=1;j--){
int xxx=xx,yyy=yy;
for(int k=1;k<=mp[j][i];k++){
xxx+=3;
}
for(int k=1;k<=mp[j][i];k++){
xxx-=3;
work(xxx,yyy);
}
xx+=2;
yy+=2;
}
y+=4;
}
for(int i=h;i>=1;i--){
for(int j=1;j<=w;j++){
cout<<t[i][j];
}
cout<<"\n";
}
return 0;
}