#include #include #include using namespace std; #include #include #include long long map[1005][1005]; long long ii[1005]; long long jj[1005]; long long iii[1005]; long long jjj[1005]; int main() { long long test; scanf("%I64d",&test); while(test--) { long long n,m,q; memset(iii,0,sizeof(iii)); memset(jjj,0,sizeof(jjj)); memset(jj,0,sizeof(jj)); memset(ii,0,sizeof(ii)); scanf("%I64d%I64d%I64d",&n,&m,&q); for(long long i=1; i<=n; i++) { for(long long j=1; j<=m; j++) { scanf("%I64d",&map[i][j]); jj[j]=j; } ii[i]=i; } while(q--) { long long a,x,y; scanf("%I64d%I64d%I64d",&a,&x,&y); if(a==1) { long long temp=ii[x]; ii[x]=ii[y]; ii[y]=temp; } else if(a==2) { long long temp=jj[x]; jj[x]=jj[y]; jj[y]=temp; } else if(a==3) { iii[ii[x]]+=y; } else if(a==4) { jjj[jj[x]]+=y; } } for(long long i=1; i<=n; i++) { for(long long j=1; j<=m; j++) { if(j!=1) printf(" "); printf("%I64d",map[ii[i]][jj[j]]+iii[ii[i]]+jjj[jj[j]]); } printf("\n"); } } }