#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 5;
int n;
struct node{
string s;
bool f = 0;
}a[N];
int ans[N];
signed main(){
cin >> n;
for(int i = 1 ; i <= n ; i++){
cin >> a[i].s;
int st = 0;
for(int i = 0 ; i < a[i].s.size() ; i++){
if(a[i].s[i] != '-') st++;
if(a[i].s[i] == '-'){
if(st != 4) a[i].s.erase(a[i].s[i]);
}
if(a[i].s[i] == 'A' || a[i].s[i] == 'B' || a[i].s[i] == 'C') a[i].s[i] = '2';
if(a[i].s[i] == 'D' || a[i].s[i] == 'E' || a[i].s[i] == 'F') a[i].s[i] = '3';
if(a[i].s[i] == 'G' || a[i].s[i] == 'H' || a[i].s[i] == 'I') a[i].s[i] = '4';
if(a[i].s[i] == 'J' || a[i].s[i] == 'K' || a[i].s[i] == 'L') a[i].s[i] = '5';
if(a[i].s[i] == 'M' || a[i].s[i] == 'N' || a[i].s[i] == 'O') a[i].s[i] = '6';
if(a[i].s[i] == 'P' || a[i].s[i] == 'R' || a[i].s[i] == 'S') a[i].s[i] = '7';
if(a[i].s[i] == 'T' || a[i].s[i] == 'U' || a[i].s[i] == 'V') a[i].s[i] = '8';
if(a[i].s[i] == 'W' || a[i].s[i] == 'X' || a[i].s[i] == 'Y') a[i].s[i] = '9';
}
}
for(int i = 1 ; i <= n ; i++){
cout << a[i].s << "\n";
}
int cnt = 0;
for(int i = 1 ; i <= n ; i++){
for(int j = i + 1 ; j <= n ; j++){
if(a[i].s == a[j].s) ans[++cnt]++;
a[i].f = 1;
}
}
int flag = 0;
for(int i = 1 ; i <= cnt ; i++){
if(a[i].f == 1) cout << a[i].f << " " << ans[i] << "\n" , flag = 1;
}
if(!flag) cout << "No duplicates.";
return 0;
}