전화번호부 중복 찾기

시간 제한1초메모리 제한128 MB

문제

기업들은 기억하기 쉬운 전화번호를 선호합니다. 번호를 기억하기 쉽게 만드는 한 가지 방법은 번호가 어떤 단어나 문구를 나타내도록 하는 것입니다. 예를 들어 TUT-GLOP을 누르면 어느 대학교에 전화가 걸리고, 310-GINO를 누르면 피자를 주문할 수 있습니다. 때로는 번호의 일부만 단어를 나타내기도 합니다. 또 다른 방법은 자릿수를 기억하기 쉽게 묶는 것으로, 예컨대 "세 개의 10"이라는 3-10-10-10 같은 번호가 있습니다.

전화번호의 표준형은 세 번째와 네 번째 숫자 사이에 하이픈이 있는 일곱 자리 십진수입니다(예: 888-1200). 전화기 키패드는 문자를 숫자에 다음과 같이 대응시킵니다.

  • A, B, C → 2
  • D, E, F → 3
  • G, H, I → 4
  • J, K, L → 5
  • M, N, O → 6
  • P, R, S → 7
  • T, U, V → 8
  • W, X, Y → 9

문자 Q와 Z에 대응하는 숫자는 없습니다. 하이픈은 실제로 누르지 않으며 자유롭게 넣거나 뺄 수 있습니다. 표준형으로 TUT-GLOP은 888-4567, 310-GINO는 310-4466, 3-10-10-10은 310-1010입니다.

두 전화번호는 표준형이 같으면 같은 번호로 봅니다(같은 곳으로 전화가 걸리기 때문입니다).

여러 기업의 전화번호로 이루어진 전화번호부를 만들고 있습니다. 품질 검사를 위해, 어떤 형태로든 두 번 이상 등장하는 번호를 모두 찾아내려고 합니다.

입력

첫째 줄에는 전화번호부에 있는 전화번호의 개수를 나타내는 양의 정수가 주어집니다(최대 $100{,}000$).

그다음 줄부터 각 줄에 전화번호가 하나씩 주어집니다. 각 전화번호는 십진수 숫자, (Q와 Z를 제외한) 대문자, 하이픈으로 이루어진 문자열이며, 이 중 정확히 일곱 개의 문자가 숫자 또는 문자입니다.

출력

어떤 형태로든 두 번 이상 등장하는 전화번호마다, 표준형 번호와 공백 한 칸, 그리고 그 번호가 전화번호부에 등장한 횟수를 한 줄에 출력합니다.

출력하는 줄은 전화번호를 기준으로 사전순 오름차순으로 정렬합니다. 두 번 이상 등장하는 번호가 하나도 없으면 No duplicates. 한 줄만 출력합니다.