#include<stdio.h>
#include<string.h>
int main()
{
int m,n,q;
int i,j,k,l;
scanf("%d%d%d",&m,&n,&q);
//初始值为.
char draw[n][m];
memset(draw,'.',sizeof(draw));
//. -1 - -2 字母1-26
for(i=0;i<q;i++)
{
//获取命令
int m1,x1,y1,x2,y2;
char in;
scanf("%d",&m1);
//划线
if(m1 == 0)
{
scanf("%d%d%d%d",&y1,&x1,&y2,&x2);
if(x1 == x2 && y1 != y2)
{
//画横线
if(y1>y2)
for(j=y2;j<=y1;j++)
{
//头尾使用+代替
if(j == y2)
{
draw[x1][j] = '+';
continue;
}
if(j == y1)
{
draw[x1][j] = '+';
continue;
}
draw[x1][j] = '-';
}
else
for(j=y1;j<=y2;j++)
{
//头尾使用+代替
if(j == y2)
{
draw[x1][j] = '+';
continue;
}
if(j == y1)
{
draw[x1][j] = '+';
continue;
}
draw[x1][j] = '-';
}
}
if(y1 == y2 && x1 != x2)
{
if(x1>x2)
for(j=x2;j<=x1;j++)
{
//头尾使用+代替
if(j == x2)
{
draw[j][y1] = '+';
continue;
}
if(j == x1)
{
draw[j][y1] = '+';
continue;
}
draw[j][y1] = '|';
}
else
for(j=x1;j<=x2;j++)
{
//头尾使用+代替
if(j == x2)
{
draw[j][y1] = '+';
continue;
}
if(j == x1)
{
draw[j][y1] = '+';
continue;
}
draw[j][y1] = '|';
}
}
}
//填充
if(m1 == 1)
{
scanf("%d%d",&y1,&x1);
scanf("%c",&in);
//循环填充,如果在环内就将以此为起点的环内填充满
//,如果在环外就将以此为起点的外界填充满
for(j=x1;j<n;j++)
{
int flag = 0;
for(k=y1;k<m;k++)
{
//底为-,
if(draw[j][y] == '-')
{
#include<string.h>
int main()
{
int m,n,q;
int i,j,k,l;
scanf("%d%d%d",&m,&n,&q);
//初始值为.
char draw[n][m];
memset(draw,'.',sizeof(draw));
//. -1 - -2 字母1-26
for(i=0;i<q;i++)
{
//获取命令
int m1,x1,y1,x2,y2;
char in;
scanf("%d",&m1);
//划线
if(m1 == 0)
{
scanf("%d%d%d%d",&y1,&x1,&y2,&x2);
if(x1 == x2 && y1 != y2)
{
//画横线
if(y1>y2)
for(j=y2;j<=y1;j++)
{
//头尾使用+代替
if(j == y2)
{
draw[x1][j] = '+';
continue;
}
if(j == y1)
{
draw[x1][j] = '+';
continue;
}
draw[x1][j] = '-';
}
else
for(j=y1;j<=y2;j++)
{
//头尾使用+代替
if(j == y2)
{
draw[x1][j] = '+';
continue;
}
if(j == y1)
{
draw[x1][j] = '+';
continue;
}
draw[x1][j] = '-';
}
}
if(y1 == y2 && x1 != x2)
{
if(x1>x2)
for(j=x2;j<=x1;j++)
{
//头尾使用+代替
if(j == x2)
{
draw[j][y1] = '+';
continue;
}
if(j == x1)
{
draw[j][y1] = '+';
continue;
}
draw[j][y1] = '|';
}
else
for(j=x1;j<=x2;j++)
{
//头尾使用+代替
if(j == x2)
{
draw[j][y1] = '+';
continue;
}
if(j == x1)
{
draw[j][y1] = '+';
continue;
}
draw[j][y1] = '|';
}
}
}
//填充
if(m1 == 1)
{
scanf("%d%d",&y1,&x1);
scanf("%c",&in);
//循环填充,如果在环内就将以此为起点的环内填充满
//,如果在环外就将以此为起点的外界填充满
for(j=x1;j<n;j++)
{
int flag = 0;
for(k=y1;k<m;k++)
{
//底为-,
if(draw[j][y] == '-')
{
}
}
}
}
}
}
}
}
//输出
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%c",draw[i][j]);
}
printf("\n");
}
return 0;
}
//输出
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%c",draw[i][j]);
}
printf("\n");
}
return 0;
}