#include<stdio.h>
int main()
{
int n = 0;
int m = 0;
scanf("%d %d",&n,&m);
int arr[10][10] = {0};
int i = 0;
for(i = 0;i<n;i++)
{
int j = 0;
for(j = 0;j<m;j++)
scanf("%d ",&arr[i][j]);
}
int k = 0;
scanf("%d",&k);
while(k--)
{
char t = 0;
int a = 0; //要变换的行号or列号
int b = 0; //要变换的行号or列号
scanf(" %c %d %d", &t, &a, &b);
if (t == 'r') //行变换
{
a--; //计算出对应行号数组的下标
b--; //计算出对应行号数组的下标
int j = 0;
for(j = 0;j<m;j++)
{
int tmp = arr[a][j];
arr[a][j] = arr[b][j];
arr[b][j] = tmp;
}
}
else if(t == 'c') //列变换
{
a--; //计算出对应行号数组的下标
b--; //计算出对应行号数组的下标
int j = 0;
for(j = 0;j<n;j++)
{
int tmp = arr[j][a];
arr[j][a] = arr[j][b];
arr[j][b] = tmp;
}
}
}
for(i = 0;i<n;i++) //打印数组
{
int j = 0;
for(j = 0;j<m;j++)
printf("%d ",arr[i][j]);
printf("\n"); //每打印一行都要换行
}
return 0;
}