#include<cstdio>
#include<algorithm>
#define maxn 1001
using namespace std;
int mp[maxn][maxn],n,m,tmp[maxn];
void a(int x,int y){
if(x==y)return;
for(int i=1;i<=n;i++)
swap(mp[x][i],mp[y][i]);
}
void b(int x,int y){
if(x==y)return;
for(int i=1;i<=n;i++)
swap(mp[i][x],mp[i][y]);
}
int main(){
//freopen("in.in","r",stdin);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
scanf("%d",&mp[i][j]);
for(int i=1;i<=m;i++){
int x,y;
bool op;
scanf("%d%d%d",&op,&x,&y);
if(op)a(x,y);
else b(x,y);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
printf("%d ",mp[i][j]);
printf("\n");
}
return 0;
}