#include<bits/stdc++.h>
using namespace std;
inline int read(){
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch == '-') f=-1 ; ch=getchar();}
while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-48 ; ch=getchar();}
return x*f;
}
vector<int>v[300];
int xxx;
string s;
void move_onto(int x,int y){
int idxx,idxy,idyx,idyy;
for(int i=0 ; i<xxx ; i=-~i){
for(int j=0 ; j<v[i].size() ; j=-~j){
if(v[i][j] == x){idxx = i;idxy = j;}
if(v[i][j] == y){idyx = i;idyy = j;}
}
}
if(idxx == idyx) return;
for(register int i(idxy) ; i<v[idxx].size() ; i=-~i) v[v[idxx][i]][0] = v[idxx][i];
for(register int i(idyy) ; i<v[idyx].size() ; i=-~i) v[v[idyx][i]][0] = v[idyx][i];
int tmp =v[idxx].size();
for(register int i(idxy) ; i<tmp ; i=-~i) v[idxx].pop_back();
tmp = v[idyx].size();
for(register int i(idyy+1) ; i<tmp ; i=-~i) v[idyx].pop_back();
v[idyx].push_back(x);
}
void move_over(int x,int y){
int idxx,idxy,idyx,idyy;
for(int i=0 ; i<xxx ; i=-~i){
for(int j=0 ; j<v[i].size() ; j=-~j){
if(v[i][j] == x){idxx = i;idxy = j;}
if(v[i][j] == y){idyx = i;idyy = j;}
}
}
if(idxx == idyx) return;
for(register int i(idxy) ; i<v[idxx].size() ; i=-~i) v[v[idxx][i]][0] = v[idxx][i];
v[idyx].push_back(x);
int tmp = v[idxx].size();
for(register int i(idxy) ; i<tmp ; i=-~i) v[idxx].pop_back();
}
void pile_onto(int x,int y){
int idxx,idxy,idyx,idyy;
for(int i=0 ; i<xxx ; i=-~i){
for(int j=0 ; j<v[i].size() ; j=-~j){
if(v[i][j] == x){idxx = i;idxy = j;}
if(v[i][j] == y){idyx = i;idyy = j;}
}
}
if(idxx == idyx) return;
for(register int i(idyy) ; i<v[idyx].size() ; i=-~i) v[v[idyx][i]][0] = v[idyx][i];
int tmp = v[idyx].size();
for(register int i(idyy+1) ; i<tmp ; i=-~i) v[idyx].pop_back();
for(register int i(idxy) ; i<v[idxx].size() ; i=-~i) v[idyx].push_back(v[idxx][i]);
tmp = v[idxx].size();
for(register int i(idxy) ; i<tmp ; i=-~i) v[idxx].pop_back();
}
void pile_over(int x,int y){
int idxx,idxy,idyx,idyy;
for(int i=0 ; i<xxx ; i=-~i){
for(int j=0 ; j<v[i].size() ; j=-~j){
if(v[i][j] == x){idxx = i;idxy = j;}
if(v[i][j] == y){idyx = i;idyy = j;}
}
}
if(idxx == idyx) return;
for(register int i(idxy) ; i<v[idxx].size() ; i=-~i) v[idyx].push_back(v[idxx][i]);
int tmp=v[idxx].size();
for(register int i(idxy) ; i<tmp ; i=-~i) v[idxx].pop_back();
}
void pr(){
for(register int i(0) ; i<xxx ; i=-~i){
cout << i << ": ";
for(register int j(0) ; j<v[i].size() ; j=-~j) cout << v[i][j] << " ";
cout << endl;
}
return;
}
int main(){
cin >> xxx;
for(register int i(0) ; i<xxx ; i=-~i) v[i].push_back(i);
while(cin >> s){
if(s[0] == 'q'){pr();return 0;}
int m,n;
string a;
cin >> m >> a >> n;
if(s[0] == 'm' && a[1] == 'n') move_onto(m,n);
if(s[0] == 'm' && a[1] == 'v') move_over(m,n);
if(s[0] == 'p' && a[1] == 'n') pile_onto(m,n);
if(s[0] == 'p' && a[1] == 'v') pile_over(m,n);
}
return 0;
}