//行变换
void Swapr(int(*p)[10], int num1, int num2, int m)
{
int tmp = 0;
for (int i = 0; i < m; i++)
{
tmp = *(*(p + num1 - 1) + i);
*(*(p + num1 - 1) + i) = *(*(p + num2 - 1) + i);
*(*(p + num2 - 1) + i) = tmp;
}
}
//列变换
void Swapc(int(*p)[10], int num1, int num2, int n)
{
int tmp = 0;
for (int i = 0; i < n; i++)
{
tmp = *(*(p+i) + +num1 - 1);
*(*(p +i) + +num1 - 1) = *(*(p +i) + num2 - 1);
*(*(p + i) + num2 - 1) = tmp;
}
}
int main()
{
int arr[10][10] = { 0 };
int n = 0, m = 0, k = 0, num1 = 0, num2 = 0;
char t = 0;
scanf("%d %d", &n, &m);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
scanf("%d", &arr[i][j]);
}
}
scanf("%d", &k);
for (int i = 0; i < k; i++)
{
getchar();
scanf("%c", &t);
scanf("%d %d", &num1, &num2);
if (t == 'c')
{
Swapc(arr, num1, num2, n);
}
if (t == 'r')
{
Swapr(arr, num1, num2, m);
}
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
return 0;
}