오타 스쿼팅

면접 대비

시간 제한4초메모리 제한512 MB

요약
각 도메인마다 다른 도메인 중 정확히 한 글자만 다른 것의 개수를 센다.
난이도

보통10점 중 6점

유형
해시맵, 문자열, 완전 탐색, 문자열 매칭
정답자
아직 제출이 없습니다

문제

Coding Cup이 참가자 100 000100\,000명을 넘어서면서, 우리 웹사이트 codingcup.se는 새로운 문제에 부딪혔다. 스패머들이 우리와 헷갈릴 만큼 비슷한, 한 글자만 다른 도메인 이름(예를 들어 codingcap.se)을 등록하기 시작한 것이다. 사정을 모르는 참가자들은 오타 때문에 이 도메인에 들어가곤 했다.

이 스팸 도메인 때문에 사용자를 크게 잃은 뒤, 이제는 맞서 싸울 차례였다. 지역 인터넷 도메인 등록 기관과 협력해 \emph{존재하는 모든 도메인} 목록에 접근할 수 있게 되었다. 이 데이터를 이용해 스패머들의 공격을 받고 있는 도메인을 찾으려고 한다.

등록된 각 도메인마다, 도메인의 한 글자를 다른 글자로 바꿔서 얻을 수 있는 다른 도메인의 개수를 구해야 한다.

입력

첫째 줄에는 도메인의 개수 N≥1N \ge 1이 주어진다.

다음 NN개 줄에는 도메인 이름이 하나씩 주어지며, 각 이름은 비어 있지 않고 a-z와 0-9 문자로만 이루어진다. 같은 도메인이 입력에 두 번 나오지 않는다.

모든 도메인은 같은 결말(.se)을 가진다고 가정하므로, 입력 도메인 이름에는 이 부분이 포함되지 않는다.

출력

NN개 도메인 이름마다 한 글자만 다른 다른 도메인의 개수를 출력한다. 답은 입력에 나온 순서대로 출력해야 한다.

제한

입력에 있는 모든 도메인 이름 길이의 합을 SS라고 하자.

  • S≤3 000 000S \le 3\,000\,000

예제2

  1. 예제 1

    입력
    4
    a
    b
    aa
    bb
    
    예상 출력
    1
    1
    0
    0
    
  2. 예제 2

    입력
    3
    kodsport
    kodsp0rt
    k0dsport
    
    예상 출력
    2
    1
    1