#include <bits/stdc++.h>
using namespace std;
int n, m, q;
int id[1010][1010];
int v[1100000];
int L[1100000], R[1100000], U[1100000], D[1100000];
void print() {
  for (int i = 2; i <= n; i++) {
    int pos = id[i][1];
    for (int j = 2; j <= m; j++) {
      pos = R[pos];
      printf("%d ", v[pos]);
    }
    puts("");
  }
}
int main() {
  cin >> n >> m >> q;
  n++;
  m++;
  for (int i = 1; i <= n + 1; i++) {
    for (int j = 1; j <= m + 1; j++) {
      id[i][j] = (i - 1) * (m + 1) + j;
      L[id[i][j]] = (i - 1) * (m + 1) + j - 1;
      R[id[i][j]] = (i - 1) * (m + 1) + j + 1;
      U[id[i][j]] = (i - 2) * (m + 1) + j;
      D[id[i][j]] = i * (m + 1) + j;
      if (i > 1 && i <= n && j > 1 && j <= m) scanf("%d", &v[id[i][j]]);
    }
  }
  for (int i = 1; i <= q; i++) {
    int a, b, c, d, w, h;
    scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &h, &w);
    int pos1 = id[1][1];
    int pos2 = id[1][1];
    while (a--) pos1 = D[pos1];
    while (b--) pos1 = R[pos1];
    while (c--) pos2 = D[pos2];
    while (d--) pos2 = R[pos2];
    for (int j = 1; j <= h; j++) {
      int l1 = L[pos1];
      int l2 = L[pos2];
      swap(R[l1], R[l2]);
      swap(L[pos1], L[pos2]);
      if (j < h) pos1 = D[pos1];
      if (j < h) pos2 = D[pos2];
    }
    for (int j = 1; j <= w; j++) {
      int d1 = D[pos1];
      int d2 = D[pos2];
      swap(U[d1], U[d2]);
      swap(D[pos1], D[pos2]);
      if (j < w) pos1 = R[pos1];
      if (j < w) pos2 = R[pos2];
    }
    for (int j = 1; j <= h; j++) {
      int r1 = R[pos1];
      int r2 = R[pos2];
      swap(L[r1], L[r2]);
      swap(R[pos1], R[pos2]);
      if (j < h) pos1 = U[pos1];
      if (j < h) pos2 = U[pos2];
    }
    for (int j = 1; j <= w; j++) {
      int u1 = U[pos1];
      int u2 = U[pos2];
      swap(D[u1], D[u2]);
      swap(U[pos1], U[pos2]);
      if (j < w) pos1 = L[pos1];
      if (j < w) pos2 = L[pos2];
    }
  }
  print();
  return 0;
}
