#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=2000+10;
struct Beauty{
char ctry[90];
int num;
}bea[maxn];
char B[90],b[90];
bool cmp(Beauty a,Beauty b){
return strcmp(a.ctry,b.ctry)<0;
}
int main()
{
int n;
while(~scanf("%d",&n)){
getchar();
for(int i=0;i<maxn;i++)
bea[i].num=0;
int t=0;
while(n--){
gets(B);
int len=strlen(B);
for(int i=0;i<len;i++){
if(B[i]==' '){ b[i]='\0'; break; }
b[i]=B[i];
}
if(!t){
strcpy(bea[t].ctry,b);
bea[t].num++;
t++;
}
else{
int p=0;
for(int i=t-1;i>=0;i--)
if(strcmp(b,bea[i].ctry)==0){
bea[i].num++;
p=1;
break;
}
if(!p){
strcpy(bea[t].ctry,b);
bea[t].num++;
t++;
}
}
memset(b,0,sizeof(b));
}
sort(bea,bea+t,cmp);
for(int i=0;i<t;i++)
printf("%s %d\n",bea[i].ctry,bea[i].num);
}
return 0;
}
--------------------------------------------------------------------------------------------
Keep It Simple,Stupid!
--------------------------------------------------------------------------------------------