#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
freopen("in.txt","r",stdin);
int N;
cin >> N;
vector<string> vNumCode;
for (int i=0; i<N; i++)
{
string strInput;
cin >> strInput;
vNumCode.push_back(strInput);
}
for(int k=0; k<N; k++)
{
string strInput = vNumCode[k];
string newData;
for (int i=0; i<strInput.length(); i++)
{
if(strInput[i] == 'A' || strInput[i] == 'B' || strInput[i] == 'C') newData+='2';
else if(strInput[i] == 'D' || strInput[i] == 'E' || strInput[i] == 'F') newData+='3';
else if(strInput[i] == 'G' || strInput[i] == 'H' || strInput[i] == 'I') newData+='4';
else if(strInput[i] == 'J' || strInput[i] == 'K' || strInput[i] == 'L') newData+='5';
else if(strInput[i] == 'M' || strInput[i] == 'N' || strInput[i] == 'O') newData+='6';
else if(strInput[i] == 'P' || strInput[i] == 'R' || strInput[i] == 'S') newData+='7';
else if(strInput[i] == 'T' || strInput[i] == 'U' || strInput[i] == 'V') newData+='8';
else if(strInput[i] == 'W' || strInput[i] == 'X' || strInput[i] == 'Y') newData+='9';
else if(strInput[i] == '-') continue;
else newData+=strInput[i];
}
newData.insert(3,1,'-');
vNumCode[k] = newData;
}
map<string,int> mapRes;
for (vector<string>::iterator ite = vNumCode.begin(); ite != vNumCode.end(); ite++)
{
++mapRes[*ite];
}
bool cout_flag(false);
for (map<string,int>::iterator iter = mapRes.begin();iter != mapRes.end();iter++)
{
if ( (iter->second) > 1)
{
cout << iter->first << " " << iter->second << endl;
cout_flag = true;
}
}
if ( !cout_flag )
{
cout << "No duplicates.";
}
return 0;
}