#include <stdio.h>
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int i=0;
int j=0;
int arr[n][m];
//输入
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}
int cnt=0;
scanf("%d",&cnt); //改变次数
char ch;
int x,y;
int swap; //交换数
for(i=0;i<cnt;i++)
{
//getchar();
//getchar只吸收掉前面一次输入的换行,注意只有一次
//在后面加scanf前面多加个空格,可以预防多次
scanf(" %c %d %d",&ch,&x,&y);
//修改
if(ch =='r') //行变换
{
for(j=0;j<m;j++) //不要用i
{
swap=arr[x-1][j];
arr[x-1][j]=arr[y-1][j];
arr[y-1][j]=swap;
}
}
else if(ch =='c') //列变换
{
for(j=0;j<n;j++) //不要用i
{
swap=arr[j][x-1];
arr[j][x-1]=arr[j][y-1];
arr[j][y-1]=swap;
}
}
}
//输出
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}