#include<bits/stdc++.h>usingnamespace std;constint N =110;int n, m ,q;char g[N][N];bool st[N][N];voidchange(int x1,int y1,int x2,int y2){if(x1 == x2){// 同一行for(int i = y1; i <= y2; i ++){if( g[x1][i]=='|'|| g[x1][i]=='+') g[x1][i]='+';else g[x1][i]='-';}}// 同一列elseif( y1 == y2){for(int i = x1; i <= x2; i ++){if( g[i][y1]=='-'|| g[i][y1]=='+') g[i][y1]='+';else g[i][y1]='|';}}}voidpaint(int x,int y,char s){st[x][y]=true;g[x][y]= s;int dx[4]={-1,0,1,0}, dy[4]={0,1,0,-1};for(int i =0; i <4; i ++){int a = x + dx[i], b = y + dy[i];if(a <0|| a >= n || b <0|| b >= m || st[a][b])continue;if(g[a][b]=='|'|| g[a][b]=='-'|| g[a][b]=='+')continue;g[a][b]= s;paint(a, b, s);}}intmain(){cin >> m >> n >> q;for(int i =0; i < n; i ++)for(int j =0; j < m; j ++)g[i][j]='.';while(q --){int op;cin >> op;if(op ==0){// x和y反著讀入int x1, y1, x2, y2;cin >> y1 >> x1 >> y2 >> x2;if(x1 > x2)swap(x1, x2);if(y1 > y2)swap(y1, y2);change(x1, y1, x2, y2);}else{int x, y;char s;// x和y反著讀入cin >> y >> x >> s;memset(st,0,sizeof st);paint(x, y, s);}}for(int i = n -1; i >=0; i--){for(int j =0; j < m; j++)cout << g[i][j];cout << endl;}}