#include <bits/stdc++.h>
using namespace std;
int n, m, q, rx, ry;
struct arr {
  int val, u[2], d[2], l[2], r[2];
} a[1005][1005];
int main() {
  scanf("%d%d%d", &n, &m, &q);
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) scanf("%d", &a[i][j].val);
  for (int i = 0; i <= n + 1; i++)
    for (int j = 0; j <= m + 1; j++) {
      a[i][j].u[0] = i - 1;
      a[i][j].u[1] = j;
      a[i][j].d[0] = i + 1;
      a[i][j].d[1] = j;
      a[i][j].l[0] = i;
      a[i][j].l[1] = j - 1;
      a[i][j].r[0] = i;
      a[i][j].r[1] = j + 1;
    }
  for (int i = 1; i <= q; i++) {
    int x2, y2, x3, y3, x, y;
    scanf("%d%d%d%d%d%d", &x2, &y2, &x3, &y3, &x, &y);
    int xr = a[0][1].d[0], yr = a[0][1].d[1];
    for (int j = 1; j < x2; j++) {
      int xx = xr, yy = yr;
      xr = a[xx][yy].d[0];
      yr = a[xx][yy].d[1];
    }
    for (int j = 1; j < y2; j++) {
      int xx = xr, yy = yr;
      xr = a[xx][yy].r[0];
      yr = a[xx][yy].r[1];
    }
    x2 = xr, y2 = yr;
    xr = a[0][1].d[0], yr = a[0][1].d[1];
    for (int j = 1; j < x3; j++) {
      int xx = xr, yy = yr;
      xr = a[xx][yy].d[0];
      yr = a[xx][yy].d[1];
    }
    for (int j = 1; j < y3; j++) {
      int xx = xr, yy = yr;
      xr = a[xx][yy].r[0];
      yr = a[xx][yy].r[1];
    }
    x3 = xr, y3 = yr;
    int xx2 = x2, yy2 = y2, xx3 = x3, yy3 = y3;
    for (int j = 0; j < x; j++) {
      int xx = a[x2][y2].l[0], yy = a[x2][y2].l[1];
      int xxx = a[x3][y3].l[0], yyy = a[x3][y3].l[1];
      a[xx][yy].r[0] = x3;
      a[xx][yy].r[1] = y3;
      a[xxx][yyy].r[0] = x2;
      a[xxx][yyy].r[1] = y2;
      swap(a[x2][y2].l, a[x3][y3].l);
      xx = a[x2][y2].d[0], yy = a[x2][y2].d[1];
      xxx = a[x3][y3].d[0], yyy = a[x3][y3].d[1];
      if (j != x - 1) {
        x2 = xx, y2 = yy;
        x3 = xxx, y3 = yyy;
      }
    }
    for (int j = 0; j < y; j++) {
      int xx = a[x2][y2].d[0], yy = a[x2][y2].d[1];
      int xxx = a[x3][y3].d[0], yyy = a[x3][y3].d[1];
      a[xx][yy].u[0] = x3;
      a[xx][yy].u[1] = y3;
      a[xxx][yyy].u[0] = x2;
      a[xxx][yyy].u[1] = y2;
      swap(a[x2][y2].d, a[x3][y3].d);
      xx = a[x2][y2].r[0], yy = a[x2][y2].r[1];
      xxx = a[x3][y3].r[0], yyy = a[x3][y3].r[1];
      x2 = xx, y2 = yy;
      x3 = xxx, y3 = yyy;
    }
    x2 = xx2, y2 = yy2, x3 = xx3, y3 = yy3;
    for (int j = 0; j < y; j++) {
      int xx = a[x2][y2].u[0], yy = a[x2][y2].u[1];
      int xxx = a[x3][y3].u[0], yyy = a[x3][y3].u[1];
      a[xx][yy].d[0] = x3;
      a[xx][yy].d[1] = y3;
      a[xxx][yyy].d[0] = x2;
      a[xxx][yyy].d[1] = y2;
      swap(a[x2][y2].u, a[x3][y3].u);
      xx = a[x2][y2].r[0], yy = a[x2][y2].r[1];
      xxx = a[x3][y3].r[0], yyy = a[x3][y3].r[1];
      if (j != y - 1) {
        x2 = xx, y2 = yy;
        x3 = xxx, y3 = yyy;
      }
    }
    for (int j = 0; j < x; j++) {
      int xx = a[x2][y2].r[0], yy = a[x2][y2].r[1];
      int xxx = a[x3][y3].r[0], yyy = a[x3][y3].r[1];
      a[xx][yy].l[0] = x3;
      a[xx][yy].l[1] = y3;
      a[xxx][yyy].l[0] = x2;
      a[xxx][yyy].l[1] = y2;
      swap(a[x2][y2].r, a[x3][y3].r);
      xx = a[x2][y2].d[0], yy = a[x2][y2].d[1];
      xxx = a[x3][y3].d[0], yyy = a[x3][y3].d[1];
      x2 = xx, y2 = yy;
      x3 = xxx, y3 = yyy;
    }
  }
  rx = a[0][1].d[0], ry = a[0][1].d[1];
  for (int i = 1; i <= n; i++) {
    int x = rx, y = ry;
    for (int j = 1; j <= m; j++) {
      printf("%d ", a[x][y].val);
      int dx = x, dy = y;
      x = a[dx][dy].r[0];
      y = a[dx][dy].r[1];
    }
    x = rx;
    y = ry;
    rx = a[x][y].d[0];
    ry = a[x][y].d[1];
    printf("\n");
  }
}
