#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int mod1 = 1e9 + 9;
int val[1011][1011];
int dx[] = {1, -1, 0, 0};
int dy[] = {0, 0, 1, -1};
int D[5000011];
int R[5000011];
int n, m, q;
int state(int i, int j) {
  if (n >= m) {
    return i * n + j;
  }
  return i + j * m;
}
bool valid(int i, int j) {
  if (i >= 0 and i < n and j >= 0 and j < m) return 1;
  return 0;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> m >> q;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) {
      cin >> val[i][j];
    }
  }
  n++;
  m++;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      D[state(i, j)] = state(i + 1, j);
      R[state(i, j)] = state(i, j + 1);
    }
  }
  while (q--) {
    int a, b, c, d, h, w;
    cin >> a >> b >> c >> d >> h >> w;
    int p1 = state(0, b);
    int p2 = state(0, d);
    int p3 = state(0, b);
    int p4 = state(0, d);
    int p5 = state(0, b - 1);
    int p6 = state(0, d - 1);
    int p7 = state(0, b + w - 1);
    int p8 = state(0, d + w - 1);
    for (int i = 0; i < a; i++) {
      p5 = D[p5];
      p7 = D[p7];
    }
    for (int i = 0; i < c; i++) {
      p6 = D[p6];
      p8 = D[p8];
    }
    for (int j = 0; j < h; j++) {
      swap(R[p5], R[p6]);
      p5 = D[p5];
      p6 = D[p6];
      swap(R[p7], R[p8]);
      p7 = D[p7];
      p8 = D[p8];
    }
    for (int i = 0; i < a - 1; i++) {
      p1 = D[p1];
    }
    for (int i = 0; i < c - 1; i++) {
      p2 = D[p2];
    }
    p3 = p1;
    p4 = p2;
    for (int i = 0; i < h; i++) {
      p3 = D[p3];
      p4 = D[p4];
    }
    for (int j = 0; j < w; j++) {
      swap(D[p1], D[p2]);
      p1 = R[p1];
      p2 = R[p2];
      swap(D[p3], D[p4]);
      p3 = R[p3];
      p4 = R[p4];
    }
  }
  vector<int> v;
  for (int i = 1; i < m; i++) v.push_back(state(0, i));
  for (int i = 1; i < n; i++) {
    vector<int> nxt;
    for (int j = 0; j < v.size(); j++) {
      nxt.push_back(D[v[j]]);
    }
    v = nxt;
    for (int j = 0; j < v.size(); j++) {
      int x, y;
      if (n >= m) {
        x = v[j] / n;
        y = v[j] % n;
      } else {
        y = v[j] / m;
        x = v[j] % m;
      }
      cout << val[x][y] << " ";
    }
    cout << "\n";
  }
}
