만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

목록

시간 제한2초메모리 제한1024 MB

요약
x 값마다 길이 x인 접두사와 접미사가 모두 같은 이름 쌍의 개수를 구합니다.
난이도

보통10점 중 7점

유형
트라이, 문자열, 해시맵
정답자
아직 제출이 없습니다

문제

최근 과학자들이 최초의 인류가 지구에 나타나기 전에 존재했던 모든 세계의 완전한 목록을 찾아냈다. 과학자들은 이 목록으로 여러 통계를 내려고 하며, 이를 위해 이름이 얼마나 비슷한지 정의한다.

두 이름의 길이 xx인 접미사가 같고 길이 xx인 접두사도 같으면, 두 이름을 xx-유사하다고 부른다.

문자열의 길이 xx인 접두사는 처음 xx개의 문자이고, 길이 xx인 접미사는 마지막 xx개의 문자이다. 문자열보다 긴 접두사나 접미사를 구하는 연산은 잘못된 연산으로 본다.

목록에 나타나는 이름의 최대 길이까지 각 정수 xx에 대해, xx-유사한 이름 쌍의 개수를 구하라.

입력

첫 줄에 정수 nn (1≤n≤1051 \le n \le 10^5)이 주어지며, 이는 이름의 개수이다. 이어지는 nn개의 줄에는 이름이 한 줄에 하나씩 주어진다. 모든 이름의 길이 합은 500 000500\,000을 넘지 않는다. 이름은 소문자 라틴 알파벳으로 이루어지며 길이는 0이 아니다.

출력

첫 줄에 가장 긴 이름의 길이 mm을 출력한다. xx (2≤x≤m+12 \le x \le m + 1)번째 줄에는 (x−1)(x-1)-유사한 이름 쌍의 개수를 출력한다.

예제1

  1. 예제 1

    입력
    4
    aaaaaa
    abacaba
    aabaa
    aba
    
    예상 출력
    7
    6
    2
    1
    0
    0
    0
    0