#include <iostream>
#include <string>
using namespace std;
int main()
{
int n,i,j,k;int temp;int is[20],suc1[10],suc2[10];
string str1[20],str2[20];cin>>n;
do
{
for(i=0;i<n;i++)
cin>>str1[i]>>str2[i];
for(i=0;i<n;i++)is[i]=0;
k=0;
for(i=0;i<n;i++)
{
if(is[i])continue;
else
for (j=i+1;j<n;j++)
{
if(str2[i]==str2[j])
{
suc1[k]=i;suc2[k]=j;k++; //开辟另两个数组来存放str[]元素的下标
is[j]=1;break;
}
}
}
for(i=0;i<k-1;i++)
for(j=i+1;j<k;j++)
if(str1[suc1[i]]>str1[suc1[j]]){
temp=suc1[i];suc1[i]=suc1[j];suc1[j]=temp; //分别交换下标
temp=suc2[i];suc2[i]=suc2[j];suc2[j]=temp;
}
for(i=0;i<k;i++)
cout<<str1[suc2[i]]<<" is the MaJia of "<<str1[suc1[i]]<<endl;
cout<<endl;cin>>n;
} while (n);
return 0;
}