#include #include typedef long long ll; int n, m, q; int a[1005][1005]; int x[1005], y[1005], addx[1005], addy[1005]; int main() { int T; scanf("%d", &T); while (T--) { scanf("%d%d%d", &n, &m, &q); for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) scanf("%d", a[i] + j); for (int i = 1; i <= n; ++i) x[i] = i, addx[i] = 0; for (int i = 1; i <= m; ++i) y[i] = i, addy[i] = 0; int opt, _x, _y; while (q--) { scanf("%d%d%d", &opt, &_x, &_y); switch (opt) { case 1: std::swap(x[_x], x[_y]); break; case 2: std::swap(y[_x], y[_y]); break; case 3: addx[x[_x]] += _y; break; case 4: addy[y[_x]] += _y; } } for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) printf(j == m ? "%d\n" : "%d ", a[x[i]][y[j]] + addx[x[i]] + addy[y[j]]); } return 0; }