#pragma comment(linker, "/STACK:102400000,102400000") #include #include #include #include #include #include #include #include #include #include #define LL long long using namespace std; const int M = 1e4 + 5, INF = 0x3f3f3f3f; int A[M][M]; int B[M][M]; int sumx[M],sumy[M]; int X[M],Y[M]; int main() { int T; scanf("%d",&T); while(T--){ memset(sumx,0,sizeof(sumx)); memset(sumy,0,sizeof(sumy)); int n,m,q; scanf("%d%d%d",&n,&m,&q); for(int j=1;j<=n;j++) X[j]=j; for(int j=1;j<=m;j++) Y[j]=j; for(int j=1;j<=n;j++){ for(int k=1;k<=m;k++){ scanf("%d",&A[j][k]); } } while(q--){ int a,b,c; scanf("%d%d%d",&a,&b,&c); if(a==1) swap(X[b],X[c]); if(a==2) swap(Y[b],Y[c]); if(a==3) sumx[X[b]]+=c; if(a==4) sumy[Y[b]]+=c; } for(int j=1;j<=n;j++){ for(int k=1;k<=m;k++){ printf("%d%c",A[X[j]][Y[k]]+sumx[X[j]]+sumy[Y[k]]," \n"[k==m]); } } } return 0; }