간단한 접두사 압축

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

많은 데이터베이스는 문자 필드(특히 인덱스)를 저장할 때 접두사 압축을 사용합니다. 이 기법은 문자열 수열 A1,A2,,ANA_1, A_2, \ldots, A_N을 다음과 같이 압축합니다.

첫 번째 문자열 A1A_1은 그대로 저장합니다. 그다음 각 문자열 Ai+1A_{i+1}에 대해, 바로 앞 문자열 AiA_i와 공유하는 가장 긴 공통 접두사의 길이를 jj라고 합시다. 즉 Ai=ai,1ai,2ai,pA_i = a_{i,1} a_{i,2} \cdots a_{i,p}Ai+1=ai+1,1ai+1,2ai+1,qA_{i+1} = a_{i+1,1} a_{i+1,2} \cdots a_{i+1,q}의 처음 jj개 문자가 모두 같은 최대의 j (min(p,q))j\ (\le \min(p, q))입니다. 그러면 Ai+1A_{i+1}은 코드 값이 jj인 제어 문자 하나와, 그 뒤에 이어지는 나머지 문자 ai+1,j+1ai+1,j+2ai+1,qa_{i+1,j+1} a_{i+1,j+2} \cdots a_{i+1,q}로 저장됩니다. 따라서 저장 길이는 1+(qj)1 + (q - j)입니다.

만약 j=0j = 0이면(두 문자열에 공통 접두사가 없으면) 제어 문자 한 바이트가 여전히 앞에 붙으므로, 저장 길이는 원래 길이보다 11만큼 늘어납니다.

수열 전체를 압축했을 때의 최소 총 저장 길이를 구하세요.

입력

첫째 줄에 정수 NN이 주어집니다. 이어지는 NN개의 줄에 각각 문자열 AiA_i가 하나씩 주어집니다.

출력

압축된 문자열들의 최소 총 길이를 정수 하나로 출력합니다.

제한

  • 1N100001 \le N \le 10000
  • 1length(Ai)2551 \le \operatorname{length}(A_i) \le 255