#include<iostream>
#include<stack>
#include<string>
using namespace std;
int n,box[30][30];
string s1,s2;
int back(int (*box)[30],int x){
int i,j;
for(i=0;i<n;i++){
for(j=0;j<n;j++)
if(box[i][j]==x){
while(box[i][++j]){
cout <<'1';
box[box[i][j]][0]=box[i][j];
box[i][j]=0;
}
return 0;
}
}
}
int move(int (*box)[30],int x,int y){
int i,j,ai,aj,bi,bj;
for(i=0;i<n;i++)
for(j=0;j<n;j++){
if(box[i][j]==x){
ai=i;aj=j;
}
if(box[i][j]==y){
bi=i;bj=j;
}
}
if(ai==bi) return 0;
while(box[bi][++bj]);
while(box[ai][aj]){
box[bi][bj]=box[ai][aj];
box[ai][aj]=0;
aj++;bj++;
}
}
void show(int (*box)[30]){
for(int i=0;i<n;i++){
cout <<i <<": ";
for(int j=0;j<n;j++){
if(box[i][j]==-1) cout <<0 <<' ';
else if(box[i][j]) cout <<box[i][j] <<' ';
}
cout <<endl;
}
}
int main(){
cin >>n;
for(int i=0;i<n;i++){
box[i][0]=i;
}
box[0][0]=-1;
int a,b;
cin >>s1;
while(s1[0]!='q'){
cin >>a >>s2 >>b;
if(s1[0]=='m'&&s2[3]=='o'){
back(box,a);
back(box,b);
move(box,a,b);
}
if(s1[0]=='m'&&s2[3]=='r'){
back(box,a);
move(box,a,b);
}
if(s1[0]=='p'&&s2[3]=='o'){
back(box,a);
move(box,a,b);
}
if(s1[0]=='p'&&s2[3]=='r'){
move(box,a,b);
}
cin >>s1 ;
}
show(box);
}