/*
TASK:SMS
LANG:C++
*/
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct sms
{
string autor;
string s;
int part;
};
bool f(sms x,sms y)
{           
if (x.autor<y.autor)
return true;
else
if ((x.autor==y.autor)&&(x.part<y.part))
return true;
return false;
}
int main()
{
sms a[100];
int n,p,i,j;
cin>>n;
for (j=0;j<n;j++)
{ 
getchar();               
getline(cin,a[j].autor);
cin>>a[j].part;
getchar();
getline(cin,a[j].s);
};
//dotuk ok
sort(a,a+n,f);
string t="";
for (i=0;i<n;i++)
if (t==a[i].autor)
cout<<a[i].s<<endl;
else
{
t=a[i].autor;     
if (t=="")
cout<<a[i].autor<<endl<<a[i].s<<endl;
else
cout<<endl<<a[i].autor<<endl<<a[i].s<<endl;
}
system("pause");
return 0;
}



    
