만드는 중입니다

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

귀찮은 두운

면접 대비

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

요약
주어진 n개의 단어 중 두 단어를 고릅니다. 두 단어의 앞 글자가 같은 동안 함께 글자를 지운 뒤 남은 길이의 합을 최대로 만드는 값을 구합니다.
난이도

보통10점 중 6점

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

문제

Bajtazar는 Find Your Palace Contest의 심사위원이다. 이 대회의 우승자에게는 호화로운 궁전이 주어진다. 그는 지금 자신의 문제에 이름을 붙이고 있다. 좋은 문제 이름은 정확히 두 단어로 이루어진다. Bajtazar는 두운을 싫어한다. 그래서 두 단어의 첫 글자가 서로 다르거나 둘 중 한 단어가 빌 때까지 양쪽 단어의 첫 글자를 계속 지운다. 이 연산을 마친 뒤, 이름의 goodness는 두 단어 길이의 합으로 정의한다.

그에게는 nn개의 단어 목록이 있다. 목록의 단어를 사용해 얻을 수 있는 goodness의 최댓값을 구하라. Bajtazar는 까다로운 엣지 케이스를 테스트에 추가하느라 바쁘므로 대신 구해 달라.

입력

첫 줄에 단어의 개수 nn (2≤n≤2⋅1052 \leq n \leq 2 \cdot 10^5)이 주어진다. 다음 nn개 줄에는 각각 단어 ww (1≤∣w∣≤1061 \leq |w| \leq 10^6)가 한 줄에 하나씩 주어진다. 각 단어는 영어 소문자(a-z)로만 이루어진다. nn개 단어의 총 글자 수는 최대 10610^6이다.

출력

얻을 수 있는 goodness의 최댓값을 출력한다.

예제3

  1. 예제 1

    입력
    3
    amsterdam
    is
    amazing
    
    예상 출력
    12
    
  2. 예제 2

    입력
    3
    bbb
    abbba
    aaba
    
    예상 출력
    8
    
  3. 예제 3

    입력
    2
    abcdefghijklmnopqrstuvwxyz
    abcdefghijklmnopqrstuvwxyz
    
    예상 출력
    0