#include <cstdio>
#include <vector>

using namespace std;

const int MAXN = 2000, MAXM = 200000;

int n, m, k[MAXN], c[MAXN], x1[MAXN], y1[MAXN], x2[MAXN], y2[MAXN], p[MAXN][MAXN];
vector <int> s, w;

int main() {
	scanf("%d%*d%d", &n, &m);
	
	for(int i = 0; i < m; ++i) {
		char s[100];
		scanf("%s", s);
		
		if(*s == 'P')
			scanf("%d%d%d%d%d", c + i, x1 + i, y1 + i, x2 + i, y2 + i);
		else if(*s == 'S')
			k[i] = 1;
		else {
			k[i] = 2;
			scanf("%d", c + i);
		}
		
		--c[i];
	}
	
	for(int i = 0; i < m; ++i)
		if(k[i] == 1)
			s.push_back(i);
	
	for(int i = m - 1; i >= 0; --i)
		if(!k[i])
			w.push_back(i);
		else if(k[i] == 2)
			i = s[c[i]];
	
	for(int i = w.size() - 1; i >= 0; --i) {
		int cs = w[i];
		for(int j = 0; j <= y2[cs] - y1[cs]; ++j)
			for(int z = j & 1; z <= x2[cs] - x1[cs]; z += 2)
				p[x1[cs] + z][y1[cs] + j] = c[cs];
	}
	
	for(int i = 0; i < n; ++i) {
		for(int j = 0; j < n; ++j)
			printf("%d ", p[i][j] + 1);
		
		printf("\n");
	}
	
	return 0;
}
