아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

사전의 크기

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

요약
기본 단어 자체이거나 어떤 기본 단어의 접두사와 어떤 기본 단어의 접미사를 이어붙여 만들 수 있는 서로 다른 단어의 개수를 구합니다.
난이도

보통10점 중 7점

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

문제

준규는 새로운 언어인 조말어를 만들려고 한다. 먼저 준규는 조말어의 바탕이 되는 단어를 모두 적은 목록을 만들었다. 이 목록에 들어 있는 단어를 기초 어휘라고 부른다.

이제 기초 어휘를 이용해 새로운 단어를 만들어 조말어대사전을 완성하려고 한다. 조말어대사전에 실리는 단어는 다음 두 조건 가운데 하나를 만족해야 한다.

  • 그 단어 자체가 기초 어휘이다.
  • 그 단어를 두 부분으로 나누었을 때, 앞부분이 어떤 기초 어휘의 접두사(단어 전체 포함)이고 뒷부분이 어떤 기초 어휘의 접미사(단어 전체 포함)이다. 이때 앞부분과 뒷부분은 각각 비어 있지 않다.

이 규칙에 따라 만들어지는 조말어대사전에는 서로 다른 단어가 모두 몇 개 실리는지 구하여라.

입력

첫째 줄에 기초 어휘의 개수 n (1 ≤ n ≤ 10 000)이 주어진다. 이어지는 n개의 줄에 각 기초 어휘가 한 줄에 하나씩 주어진다. 각 기초 어휘는 소문자 알파벳으로만 이루어지며 길이는 1 이상 40 이하이다.

준규는 게을러서 목록에 같은 단어가 중복되어 있는지 확인하지 않았다. 따라서 같은 단어가 여러 번 나타날 수 있으며, 같은 단어는 하나로 취급한다.

출력

조말어대사전에 실리는 서로 다른 단어의 개수를 한 줄에 출력한다.

예제10

  1. 예제 1

    입력
    3
    abc
    def
    abef
    
    예상 출력
    60
    
  2. 예제 2

    입력
    1
    a
    
    예상 출력
    2
    
  3. 예제 3

    입력
    1
    ab
    
    예상 출력
    4
    
  4. 예제 4

    입력
    3
    abc
    abc
    abc
    
    예상 출력
    8
    
  5. 예제 5

    입력
    2
    a
    b
    
    예상 출력
    6
    
  6. 예제 6

    입력
    2
    a
    bc
    
    예상 출력
    10
    
  7. 예제 7

    입력
    3
    a
    a
    a
    
    예상 출력
    2
    
  8. 예제 8

    입력
    2
    ab
    ba
    
    예상 출력
    14
    
  9. 예제 9

    입력
    3
    ab
    abc
    abcd
    
    예상 출력
    33
    
  10. 예제 10

    입력
    26
    a
    b
    c
    d
    e
    f
    g
    h
    i
    j
    k
    l
    m
    n
    o
    p
    q
    r
    s
    t
    u
    v
    w
    x
    y
    z
    
    예상 출력
    702