#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; #define gcd __gcd const int N=1011; const int mod=1000000007; const int times=20; const int INF=INT_MAX; int a[N][N],X[N],Y[N],xx[N],yy[N]; int main() { int t,n,m,q,x,y,z; scanf("%d",&t); while(t--) { scanf("%d%d%d",&n,&m,&q); memset(xx,0,sizeof(xx)); memset(yy,0,sizeof(yy)); for(int i=1;i<=n;i++) X[i]=i; for(int i=1;i<=m;i++) Y[i]=i; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&a[i][j]); while(q--) { scanf("%d%d%d",&z,&x,&y); if(z==1) { swap(X[x],X[y]); swap(xx[x],xx[y]); } else if(z==2) { swap(Y[x],Y[y]); swap(yy[x],yy[y]); } else if(z==3) { xx[x]+=y; } else { yy[x]+=y; } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(j==1) printf("%d",a[X[i]][Y[j]]+xx[i]+yy[j]); else printf(" %d",a[X[i]][Y[j]]+xx[i]+yy[j]); } printf("\n"); } } return 0; }