/*
TASK:sms
LANG:C++
*/
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
    int n,i,k,ap=0-1,j,uu,r[1006];
    for(i=0;i<1005;i++)r[i]=0;
    char l[106][106],a[106][16][31],x[21],y[31];
    cin>>n;
    cin.getline(l[1],106);
    for(i=1;i<=n;i++)
    {
                   cin.getline(x,21,'\n');
                   cin>>k;
                   cin.getline(l[1],106);
                   cin.getline(y,31,'\n');
                   bool p=0;
                   for(j=0;j<=ap;j++)
                   {
                                     if(strcmp(a[j][0],x)==0)
                                     {
                                                              p=1;
                                                              strcpy(a[j][k],y);
                                                              if(k>r[j])r[j]=k;
                                     } 
                   }  
                   if(p==0)
                   {
                           r[ap+1]=k;
                           ap++;
                           strcpy(a[ap][k],y);
                           strcpy(a[ap][0],x);
                   }
    }
    int gh;
    for(i=0;i<=ap;i++)
    {
                 for(j=i+1;j<=ap;j++)
                 {
                                     if(strcmp(a[i][0],a[j][0])==1)
                                     {
                                                for(gh=0;gh<=r[i];gh++)strcpy(l[gh],a[i][gh]);
                                                for(gh=0;gh<=r[j];gh++)strcpy(a[i][gh],a[j][gh]);
                                                for(gh=0;gh<=r[i];gh++)strcpy(a[j][gh],l[gh]);
                                                gh=r[i];
                                                r[i]=r[j];
                                                r[j]=gh;                   
                                     }
                 }      
    }
     for(j=0;j<=r[0];j++)
     {
                      int ddd=strlen(a[0][j]);
                      for(uu=0;uu<ddd;uu++)cout<<a[0][j][uu];
                      cout<<endl;
     }
    for(i=1;i<=ap;i++)
    {
                      cout<<'\n';
                      for(j=0;j<=r[i];j++)
                      {
                                     int ddd=strlen(a[i][j]);
                                     for(uu=0;uu<ddd;uu++)cout<<a[i][j][uu];
                                     cout<<endl;
                      }
                      
    }
    system("pause");
    return 0;
}
