#include <bits/stdc++.h>
using namespace std;
double eps = numeric_limits<double>::epsilon();
double PI = acos(-1);
int INF = 1e9;
long long MAX = 1e18;
int const N = 1e5 + 16;
int const M = 1e9 + 7;
int const M2 = 999999983;
int n, m, q;
struct cell {
  int v;
  cell *r, *d;
} c[1024][1024];
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", &c[i][j].v);
      c[i][j].d = &c[i + 1][j];
      c[i][j].r = &c[i][j + 1];
    }
  for (int i = 0; i <= n; ++i) c[i][0].d = &c[i + 1][0], c[i][0].r = &c[i][1];
  for (int j = 0; j <= m; ++j) c[0][j].r = &c[0][j + 1], c[0][j].d = &c[1][j];
  cell* origin = &c[0][0];
  while (q--) {
    int a, b, c, d, h, w;
    scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &h, &w);
    cell* x = origin;
    cell* y = origin;
    for (int i = 1; i < a; ++i) x = x->d;
    for (int i = 1; i < b; ++i) x = x->r;
    for (int i = 1; i < c; ++i) y = y->d;
    for (int i = 1; i < d; ++i) y = y->r;
    cell* x2 = x;
    cell* y2 = y;
    for (int i = 0; i < h; ++i) x2 = x2->d, y2 = y2->d;
    cell* x3 = x;
    cell* y3 = y;
    for (int i = 0; i < w; ++i) x3 = x3->r, y3 = y3->r;
    cell* t1 = x->r;
    cell* t2 = y->r;
    for (int i = 0; i < w; ++i, t1 = t1->r, t2 = t2->r) swap(t1->d, t2->d);
    t1 = x->d;
    t2 = y->d;
    for (int i = 0; i < h; ++i, t1 = t1->d, t2 = t2->d) swap(t1->r, t2->r);
    t1 = x3->d;
    t2 = y3->d;
    for (int i = 0; i < h; ++i, t1 = t1->d, t2 = t2->d) swap(t1->r, t2->r);
    t1 = x2->r;
    t2 = y2->r;
    for (int i = 0; i < w; ++i, t1 = t1->r, t2 = t2->r) swap(t1->d, t2->d);
  }
  for (int i = 1; i <= n; ++i) {
    cell* x = &c[i][0];
    for (int j = 1; j <= m; ++j) {
      x = x->r;
      printf("%d ", x->v);
    }
    putchar('\n');
  }
}
