/*我知道你很急,但你先别急,有一个**抄别人还觉得自己很优越,跟个NT一样
*它的代码:http://120.27.70.255:9080/status/6967a2f37059aec9fbffca7782870260 它的ID:231-lianghanzhi
*它抄的代码:http://120.27.70.255:9080/status/5a39b41c872f563b8eace65fb5249d40 作者的ID:231-zhengsuchang
* 你抄代码觉得你很NB是吗,天天在课上根个NT一样,你会写歌姬吧。
* 课上老是抄,你就只会TMD抄了,你这种人就纯纯的弱智 、 dinner
* 自己没爸没妈照还在ZDY上照优越感是吧,你就是TMD退休的
*伐木工——没斧又没木
*(以上保留,后面续写,记得提交时进作品的右下角把蓝色的“Share”点一下,变成橙色的“Unshare”来分享)
* (仅限参考,不能拷代码)
*/
#include<cstdio>
#include<cstring>
char c[2001][2001];
int gz[55][55];
const char mb[][9]={""," +---+.."," | |/."," | | +"," +---+ |"," ./ /|"," ..+---+"};
int zuim=0,zuin=0;
void tc(int m,int n)
{
for(int i=0;i<6;i++)
for(int j=0;j<7;j++)
if(mb[i+1][j+1]!='.')
{
c[i+m][j+n]=mb[i+1][j+1];
if(i+m>zuim) zuim=i+m;
if(j+n>zuin) zuin=j+n;
}
}
int main()
{
freopen("drawing.in","r",stdin);
freopen("drawing.out","w",stdout);
int m,n,zuigao=1;
memset(gz,0,sizeof(gz));
scanf("%d%d",&m,&n);
for(int i=m;i>0;i--)
for(int j=1;j<=n;j++)
{
scanf("%d",&gz[i][j]);
if(gz[i][j]>zuigao) zuigao=gz[i][j];
}
for(int i=0;i<2001;i++)
for(int j=0;j<2001;j++)
c[i][j]='.';
for(int i=m;i>0;i--)
for(int k=1;k<=n;k++)
for(int j=1;j<=gz[i][k];j++)
tc((j-1)*3+1+((i-1)*2),(k-1)*4+1+((i-1)*2));
for(int i=zuim;i>0;i--)
{
for(int j=1;j<=zuin;j++)
printf("%c",c[i][j]);
putchar('\n');
}
fclose(stdout);
return 0;
}