#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 100000
char jud[27]="22233344455566677778889999";
int cmp(const void *e1,const void *e2)
{
return (strcmp((char *)e1,(char *)e2));
}
int main()
{
char b[80],a[N][9];
int i,j,n,x,x1;
int flag;
while(scanf("%d",&n))
{
getchar();
for(i=0;i<n;i++)
{
gets(b);
x1=0;
x=strlen(b);
for(j=0;j<x;j++)
{
if(x1==3)
{
a[i][x1]='-';
x1++;
}
if(b[j]>='0'&&b[j]<='9')
{
a[i][x1]=b[j];
x1++;
}
else if(b[j]=='-')
continue;
else
{
a[i][x1]=jud[b[j]-'A'];
x1++;
}
}
}
qsort(a,n,9,cmp);
i=0;flag=1;
while(i<n)
{
j=i;
i++;
while(i<n&&strcmp(a[i],a[j])==0)
i++;
if(i-j>1)
{
printf("%s %d\n",a[j],i-j);
flag=0;
}
}
if(flag)
printf("No duplicates.\n");
}
return 0;
}