#include<bits/stdc++.h>
using namespace std;
const char cube[8][8] = {
"..+---+",
"./ /|",
"+---+ |",
"| | +",
"| |/.",
"+---+.."
};
char s[2005][2005];
int maxx,maxy;
void solve(int x,int y){
for(int i = 0; i < 6; i++){
for(int j = 0; j < 7; j++){
if(cube[i][j] != '.'){
s[y + 5 - i][x + j] = cube[i][j];
maxy = max(maxy, y + 5 - i);
maxx = max(maxx, x + j);
}
}
}
}
int main(){
for(int i = 0;i < 2000; i++)
for(int j = 0; j < 20000; j++)
s[i][j] = '.';
int m,n;
scanf("%d%d", &m, &n);
for(int i = 0; i < m; i++){
for(int j = 0; j < n; j++){
int a;
scanf("%d" , &a);
for(int k = 0; k <a;k++){
int t = m - i - 1;
solve(2 * t + 4 * j,2 * t + 3 * k);
}
}
}
for(int i = maxy; i >= 0; i--){
for(int j = 0; j <= maxx; j++)
printf("%c", s[i][j]);
printf("\n");
}
return 0;
}