#include <bits/stdc++.h>
using namespace std;
int n, m, q;
int a, b, c, d, h, w;
typedef struct _lnk {
  int val;
  _lnk *prev, *next, *top, *bot;
} lnk;
lnk bd[1010][1010];
void lnkSwap_l(lnk *A, lnk *B) {
  lnk *tmp;
  A->prev->next = B;
  B->prev->next = A;
  tmp = A->prev;
  A->prev = B->prev;
  B->prev = tmp;
}
void lnkSwap_t(lnk *A, lnk *B) {
  lnk *tmp;
  A->top->bot = B;
  B->top->bot = A;
  tmp = A->top;
  A->top = B->top;
  B->top = tmp;
}
void lnkSwap_r(lnk *A, lnk *B) {
  lnk *tmp;
  A->next->prev = B;
  B->next->prev = A;
  tmp = A->next;
  A->next = B->next;
  B->next = tmp;
}
void lnkSwap_b(lnk *A, lnk *B) {
  lnk *tmp;
  A->bot->top = B;
  B->bot->top = A;
  tmp = A->bot;
  A->bot = B->bot;
  B->bot = tmp;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> m >> q;
  for (int i = 1; i <= n + 1; i++) bd[i][0].next = &bd[i][1];
  for (int i = 1; i <= n + 2; i++)
    for (int j = 1; j <= m + 2; j++) {
      if (i <= n && j <= m) cin >> bd[i][j].val;
      bd[i][j].prev = &bd[i][j - 1];
      bd[i][j].next = &bd[i][j + 1];
      bd[i][j].top = &bd[i - 1][j];
      bd[i][j].bot = &bd[i + 1][j];
    }
  for (int i = 0; i < q; i++) {
    cin >> a >> b >> c >> d >> h >> w;
    lnk *rec1 = &bd[a][0];
    int cnt1 = b;
    while (cnt1--) rec1 = rec1->next;
    lnk *rec2 = &bd[c][0];
    int cnt2 = d;
    while (cnt2--) rec2 = rec2->next;
    int cnt;
    cnt = w;
    while (cnt--) {
      lnkSwap_t(rec1, rec2);
      if (!cnt) break;
      rec1 = rec1->next;
      rec2 = rec2->next;
    }
    cnt = h;
    while (cnt--) {
      lnkSwap_r(rec1, rec2);
      if (!cnt) break;
      rec1 = rec1->bot;
      rec2 = rec2->bot;
    }
    cnt = w;
    while (cnt--) {
      lnkSwap_b(rec1, rec2);
      if (!cnt) break;
      rec1 = rec1->prev;
      rec2 = rec2->prev;
    }
    cnt = h;
    while (cnt--) {
      lnkSwap_l(rec1, rec2);
      if (!cnt) break;
      rec1 = rec1->top;
      rec2 = rec2->top;
    }
  }
  for (int i = 1; i <= n; i++) {
    lnk *head = &bd[i][0];
    int iter = m;
    while (iter--) {
      cout << head->next->val << " ";
      head = head->next;
    }
    cout << "\n";
  }
  return 0;
}
