#include<cstring>
#include<cstdio>
int main(){
int n;
char x[1000];
while(~scanf("%d ",&n)){
int a[26]={0},max=0; //開陣列放數字,且設一個最大值(畢竟我們不知道最大到多少)
while(n--){
gets(x);
for(int i=0;i<strlen(x);i++)
{if(x[i]>='A'&&x[i]<='Z') a[x[i]-'A']++;//把a A分開計算
else if(x[i]>='a'&&x[i]<='z') a[x[i]-'a']++;
}
}
for(int i=0;i<26;i++) if(a[i]>max) max=a[i];//找出最大值
for(int i=max;i>=1;i--) //從最大值把每個有出現過的字母擺出來(0個不算)
{for(int j=0;j<26;j++)//從ASCII碼小的先打出來
if(a[j]==i) printf("%c %d\n",j+65,i);
}
}}