#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;
}