/*
* 解题思路:
* 简单的字符串字母排序问题
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define A 2010
#define B 100
char s[ A ][ B ],ss[ B ];
int cmp( const void *_a , const void *_b )
{
char* a = (char *)_a;
char* b = (char *)_b;
return strcmp( a , b );
}
int main( )
{
int t,i;
int len;
int total,q = 0;
char c;
scanf("%d",&t);
getchar( );
while( t-- )
{
scanf("%s",ss );
while( getchar( ) !='\n' );
len = strlen( ss );
strcpy( s[ q++ ] , ss );
}
qsort( s , q , sizeof( s[0] ) , cmp );
total = 1;
for( i= 1;i<=q;i++ )
if( strcmp(s[ i ] , s[ i-1 ] ) == 0 ) total++;
else
{
printf("%s %d\n",s[ i-1 ] , total);
total = 1;
}
return 0;
}