func_code_string: #include <bits/stdc++.h>   using namespace std;   struct _2DLL {     _2DLL *R, *D;     int val;     _2DLL() {       R = D = NULL;       val = 0;     }   };   int n, m, q;   _2DLL *grid[1005][1005];   int main() {     scanf( %d%d%d , &n, &m, &q);     for (int i = 0; i <= n; i++)       for (int j = 0; j <= m; j++) grid[i][j] = new _2DLL();     for (int i = 1; i <= n; i++)       for (int j = 1; j <= m; j++) {         int x;         scanf( %d , &x);         grid[i][j]->val = x;       }     for (int i = 0; i <= n; i++) {       for (int j = 0; j <= m; j++) {         if (j + 1 <= m) grid[i][j]->R = grid[i][j + 1];         if (i + 1 <= n) {           grid[i][j]->D = grid[i + 1][j];         }       }     }     int x1, y1, x2, y2, h, w;     while (q--) {       scanf( %d%d%d%d%d%d , &x1, &y1, &x2, &y2, &h, &w);       {         _2DLL *tp1 = grid[0][y1 - 1], *tp2 = grid[0][y2 - 1];         for (int i = 0; i < x1; tp1 = tp1->D, i++)           ;         for (int i = 0; i < x2; tp2 = tp2->D, i++)           ;         for (int i = 0; i < h; i++, tp1 = tp1->D, tp2 = tp2->D)           swap(tp1->R, tp2->R);       }       {         _2DLL *tp1 = grid[0][y1 + w - 1], *tp2 = grid[0][y2 + w - 1];         for (int i = 0; i < x1; tp1 = tp1->D, i++)           ;         for (int i = 0; i < x2; tp2 = tp2->D, i++)           ;         for (int i = 0; i < h; i++, tp1 = tp1->D, tp2 = tp2->D)           swap(tp1->R, tp2->R);       }       {         _2DLL *lft1 = grid[x1 - 1][0], *lft2 = grid[x2 - 1][0];         for (int i = 0; i < y1; lft1 = lft1->R, i++)           ;         for (int i = 0; i < y2; lft2 = lft2->R, i++)           ;         for (int i = 0; i < w; i++, lft1 = lft1->R, lft2 = lft2->R)           swap(lft1->D, lft2->D);       }       {         _2DLL *lft1 = grid[x1 + h - 1][0], *lft2 = grid[x2 + h - 1][0];         for (int i = 0; i < y1; lft1 = lft1->R, i++)           ;         for (int i = 0; i < y2; lft2 = lft2->R, i++)           ;         for (int i = 0; i < w; i++, lft1 = lft1->R, lft2 = lft2->R)           swap(lft1->D, lft2->D);       }     }     for (int i = 1; i <= n; i++) {       auto x = grid[i][0];       for (int j = 0; j < m; j++) {         x = x->R;         printf( %d  , x->val);       }       puts(  );     }     return 0;   }   