만드는 중입니다

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

경주

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

요약
번호판 문자열의 부분집합을 골라 개수, 공통 접두사 길이, 공통 접미사 길이의 곱이 최대가 되는 값을 구합니다.
난이도

어려움10점 중 8점

유형
트라이, 문자열, 트리, DFS
정답자
아직 제출이 없습니다

문제

라디에이터 스프링스에서 경주가 열릴 예정이다. 도시의 자존심 있는 자동차는 모두 이 경주에 참가하고 싶어 한다. 현재 nn대의 자동차가 신청했다. 각 자동차에는 자동차 번호가 있으며, 이는 소문자 라틴 문자로만 이루어진 비어 있지 않은 문자열이다. 두 자동차의 번호가 같을 수도 있다.

모든 자동차가 참가할 수 있는 것은 아니다. 심판이 참가할 자동차를 직접 고른다. 심판은 경주의 장관 정도를 최대화하려고 한다. 장관 정도는 다음 세 값의 곱으로 정의되는 자연수이다.

  • 경주에 참가하는 자동차의 수
  • 참가 자동차 번호들의 최장 공통 접두사의 길이
  • 참가 자동차 번호들의 최장 공통 접미사의 길이

문자열 s1,s2,…,sns_1, s_2, \dots, s_n의 최장 공통 접두사는 모든 sis_i의 접두사이면서 길이가 가장 긴 문자열이다. 최장 공통 접미사도 같은 방식으로 접미사를 기준으로 정의한다.

이 정의는 경주 중에 찍는 사진과 관련이 있다. 나란히 달리는 자동차의 번호가 비슷할수록 사진이 더 보기 좋다. 장관 정도가 가장 큰 자동차 부분집합을 고르는 프로그램을 작성하라.

입력

첫째 줄에 자연수 nn (1≤n≤2⋅1051 \le n \le 2\cdot 10^5)이 주어진다. 이는 참가 신청한 자동차의 수이다. 다음 nn개의 줄에는 각각 소문자 라틴 문자로 이루어진 비어 있지 않은 문자열이 한 줄씩 주어진다. 모든 문자열 길이의 합은 2⋅1052\cdot 10^5을 넘지 않는다.

출력

장관 정도의 최댓값을 한 줄에 출력한다.

힌트

첫 번째 예시에서는 처음 세 자동차가 참가한다. 최장 공통 접두사의 길이는 2, 최장 공통 접미사의 길이는 2, 자동차 수는 3이므로 3×2×2=123 \times 2 \times 2 = 12이다.

두 번째 예시에서는 세 번째 자동차만 참가한다. 문자열 하나의 최장 공통 접두사와 접미사는 그 문자열 전체이므로 1×5×5=251 \times 5 \times 5 = 25이다.

세 번째 예시에서는 마지막 자동차를 제외한 모든 자동차가 참가한다. 최장 공통 접두사의 길이는 3, 최장 공통 접미사의 길이는 3, 자동차 수는 7이므로 7×3×3=637 \times 3 \times 3 = 63이다.

예제3

  1. 예제 1

    입력
    4
    aa
    aa
    aa
    bb
    
    예상 출력
    12
    
  2. 예제 2

    입력
    4
    aba
    ab
    abbba
    aba
    
    예상 출력
    25
    
  3. 예제 3

    입력
    8
    abcccbx
    abccbx
    abcycbx
    abczcbx
    abcbx
    abcacbx
    abcscbx
    axcccbx
    
    예상 출력
    63