#include <stdio.h>
int main() {
int n, m;
int k;
int i, j;
int a, b;
int Arr[10][10];
char t;
scanf("%d%d", &n, &m);
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
scanf("%d", &Arr[i][j]);
}
}
scanf("%d", &k);
// 进行 k 次操作
while (k > 0) {
// 使用之前先清除换行符
getchar(); // 清除缓冲区中的换行符
scanf("%c%d%d", &t, &a, &b);
a--;
b--;
if (t == 'r') {
// 处理行交换
int temp;
for (j = 0; j < m; j++) {
temp = Arr[a][j];
Arr[a][j] = Arr[b][j];
Arr[b][j] = temp;
}
} else if (t == 'c') {
// 处理列交换
int temp;
for (i = 0; i < n; i++) {
temp = Arr[i][a];
Arr[i][a] = Arr[i][b];
Arr[i][b] = temp;
}
}
k--;
}
// 打印结果矩阵
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
printf("%d ", Arr[i][j]);
}
printf("\n");
}
return 0;
}
//不要忘记了行和列要-1
//求佛