#include<iostream>
#include<cctype>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
int main()
{
map <char,char> ch_in;
ch_in.insert(make_pair('A','2'));
ch_in.insert(make_pair('B','2'));
ch_in.insert(make_pair('C','2'));
ch_in.insert(make_pair('D','3'));
ch_in.insert(make_pair('E','3'));
ch_in.insert(make_pair('F','3'));
ch_in.insert(make_pair('G','4'));
ch_in.insert(make_pair('H','4'));
ch_in.insert(make_pair('I','4'));
ch_in.insert(make_pair('J','5'));
ch_in.insert(make_pair('K','5'));
ch_in.insert(make_pair('L','5'));
ch_in.insert(make_pair('M','6'));
ch_in.insert(make_pair('N','6'));
ch_in.insert(make_pair('O','6'));
ch_in.insert(make_pair('P','7'));
ch_in.insert(make_pair('R','7'));
ch_in.insert(make_pair('S','7'));
ch_in.insert(make_pair('T','8'));
ch_in.insert(make_pair('U','8'));
ch_in.insert(make_pair('V','8'));
ch_in.insert(make_pair('W','9'));
ch_in.insert(make_pair('X','9'));
ch_in.insert(make_pair('Y','9'));
ch_in.insert(make_pair('0','0'));
ch_in.insert(make_pair('1','1'));
ch_in.insert(make_pair('2','2'));
ch_in.insert(make_pair('3','3'));
ch_in.insert(make_pair('4','4'));
ch_in.insert(make_pair('5','5'));
ch_in.insert(make_pair('6','6'));
ch_in.insert(make_pair('7','7'));
ch_in.insert(make_pair('8','8'));
ch_in.insert(make_pair('9','9'));
int n;
cin>>n;
cin.ignore();
while(n--)
{
int m,i,j;
cin>>m;
cin.ignore();
map<string,int>jidu;
for(i=0;i<m;i++)
{
string temp;
int flag=0;
getline(cin,temp);
string temp_str(temp);
for(j=0;j<temp.length();j++)
{
if(temp[j]!='-')
temp_str[flag++]=ch_in[temp[j]];
}
temp_str.insert(3,"-");
temp_str=temp_str.substr(0,8);
jidu[temp_str]++;
}
map<string,int>::iterator it;
int flagg=0;
for(it=jidu.begin();it!=jidu.end();it++)
{
if(it->second>1)
{
cout<<it->first<<" "<<it->second<<endl;
flagg=1;
}
}
if(flagg==0)
cout<<"No duplicates."<<endl;
if(n!=0)cout<<endl;
}
return 0;
}