#include <bits/stdc++.h>
using namespace std;
struct Node {
  int value;
  Node *right, *left, *up, *down;
} mat[1100][1100];
void init_links() {
  for (int i = 0; i < 1100 - 1; i++) {
    for (int j = 0; j < 1100; j++) {
      mat[i][j].down = &mat[i + 1][j];
    }
  }
  for (int i = 0; i < 1100; i++) {
    for (int j = 0; j < 1100 - 1; j++) {
      mat[i][j].right = &mat[i][j + 1];
    }
  }
  for (int i = 1; i < 1100; i++) {
    for (int j = 0; j < 1100; j++) {
      mat[i][j].up = &mat[i - 1][j];
    }
  }
  for (int i = 0; i < 1100; i++) {
    for (int j = 1; j < 1100; j++) {
      mat[i][j].left = &mat[i][j - 1];
    }
  }
}
Node *find(int r, int c) {
  Node *result = &mat[0][0];
  for (int i = 0; i < c; i++) {
    result = result->right;
  }
  for (int i = 0; i < r; i++) {
    result = result->down;
  }
  return result;
}
int main() {
  ios_base::sync_with_stdio(false);
  init_links();
  int n, m, q;
  cin >> n >> m >> q;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      cin >> mat[i + 1][j + 1].value;
    }
  }
  while (q--) {
    int i, j, ii, jj, h, w;
    cin >> i >> j >> ii >> jj >> h >> w;
    Node *A = find(i, j);
    Node *B = find(ii, jj);
    Node *CA = A, *CB = B;
    for (int i = 0; i < w; i++) {
      CA->up->down = CB;
      CB->up->down = CA;
      swap(CA->up, CB->up);
      CA = CA->right;
      CB = CB->right;
    }
    CA = A;
    CB = B;
    for (int i = 0; i < h; i++) {
      CA->left->right = CB;
      CB->left->right = CA;
      swap(CA->left, CB->left);
      CA = CA->down;
      CB = CB->down;
    }
    for (int i = 0; i < w - 1; i++) {
      A = A->right;
      B = B->right;
    }
    for (int i = 0; i < h - 1; i++) {
      A = A->down;
      B = B->down;
    }
    CA = A;
    CB = B;
    for (int i = 0; i < w; i++) {
      CA->down->up = CB;
      CB->down->up = CA;
      swap(CA->down, CB->down);
      CA = CA->left;
      CB = CB->left;
    }
    CA = A;
    CB = B;
    for (int i = 0; i < h; i++) {
      CA->right->left = CB;
      CB->right->left = CA;
      swap(CA->right, CB->right);
      CA = CA->up;
      CB = CB->up;
    }
  }
  Node *c = (&mat[0][0])->down->right;
  for (int i = 0; i < n; i++) {
    Node *cur = c;
    for (int j = 0; j < m; j++) {
      cout << cur->value << ' ';
      cur = cur->right;
    }
    cout << '\n';
    c = c->down;
  }
  return 0;
}
