#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
using namespace std;
vector<int>box[30];
string s1,s2; int a,b,n,ha,hb,pa,pb;
void find_box(int x,int&px,int&hx)
{
for(px=0;px<n;px++)
{
for(hx=0;hx<box[px].size();hx++)
{
if(box[px][hx]==x)
{
return;
}
}
}
}
void clear_box(int p,int h)
{
int t;
for(int i=h+1;i<box[p].size();i++)
{
t=box[p][i];
box[t].push_back(t);
}
box[p].resize(h+1);
}
void pile_onto(int p1,int h1,int p2)
{
for(int i=h1;i<box[p1].size();i++)
{
box[p2].push_back(box[p1][i]);
}
box[p1].resize(h1);
}
void print()
{
for(int i=0;i<n;i++)
{
if(box[i].size()==0)
{
cout<<i<<":\n";
}
else
{
cout<<i<<":";
for(int j=0;j<box[i].size();j++)
{
cout<<" "<<box[i][j];
}
cout<<endl;
}
}
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
box[i].push_back(i);
}
while(cin>>s1)
{
if(s1=="quit")break;
cin>>a>>s2>>b;
find_box(a,pa,ha);
find_box(b,pb,hb);
if(pa==pb){continue;}
if(s1=="move"){clear_box(pa,ha);}
if(s2=="onto"){clear_box(pb,hb);}
pile_onto(pa,ha,pb);
}
print();
return 0;
}