#include <iostream>
#include <string>
#include <list>
using namespace std;
struct Word
{
char ch;
int count;
};
bool wordCompare(Word w1, Word w2)
{
if(w1.count>w2.count){
return true;
}
else if(w1.count<w2.count){
return false;
}
else if(w1.ch<w2.ch){
return true;
}
else{
return false;
}
}
int main()
{
int N;
list<Word> wordList;
struct Word w[26];
int a[26]={0};
string str;
cin>>N;
getline(cin,str);
for(int i=0;i<N;i++){
getline(cin,str);
for(int j=0; j<str.length() ;j++){
if( isalpha(str[j]) ){
int chInt = toupper(str[j])-\'A\';
a[ chInt ]++;
}
}
}
for(int i=0;i<26;i++){
if(a[i]>0){
//Word a = new Word;若改成臨時加不知道行不行?
w[i].ch = (char) (i+\'A\');
w[i].count=a[i];
wordList.push_front(w[i]);
}
}
wordList.sort(wordCompare);
list<Word>::iterator it;
for ( it=wordList.begin() ; it != wordList.end(); it++ ){
if((*it).count>0){
cout <<(*it).ch<<" "<<(*it).count<<endl;
}
}
return 0;
}