#include <iostream> #include <map> #include <string> using namespace std; map<char,int> mp; map<int,int> np; int main() { mp['A']=2; mp['B']=2; mp['C']=2; mp['D']=3; mp['E']=3; mp['F']=3; mp['G']=4; mp['H']=4; mp['I']=4; mp['J']=5; mp['K']=5; mp['L']=5; mp['M']=6; mp['N']=6; mp['O']=6; mp['P']=7; mp['R']=7; mp['S']=7; mp['T']=8; mp['U']=8; mp['V']=8; mp['W']=9; mp['X']=9; mp['Y']=9; mp['0']=0; mp['1']=1; mp['2']=2; mp['3']=3; mp['4']=4; mp['5']=5; mp['6']=6; mp['7']=7; mp['8']=8; mp['9']=9; int t,n,num; string str; cin>>t; while(t--) { cin>>n; np.clear(); for(int i=0;i<n;i++) { cin>>str; num=0; for(int j=0;j<str.size();j++) { if(str[j]!='-') { num*=10; num+=mp[str[j]]; } } np[num]++; } if(np.size()==n) { cout<<"No duplicates.\n"; if(t) cout<<"\n"; continue; } for(map<int,int>::iterator ii=np.begin();ii!=np.end();++ii) { if(ii->second>1) { int tmp=(ii->first/10000); if((tmp%1000)<100) cout<<0; if((tmp%1000)<10) cout<<0; if((tmp%1000)<1) { cout<<0<<"-"; } else cout<<(ii->first/10000)<<"-"; if((ii->first%10000)<1000) cout<<0; if((ii->first%10000)<100) cout<<0; if((ii->first%10000)<10) cout<<0; if((ii->first%10000)<1) { cout<<0<<" "<<ii->second<<"\n"; //continue; } else cout<<(ii->first%10000)<<" "<<ii->second<<"\n"; } } if(t) cout<<"\n"; } return 0; }