코코스

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

문제

길이가 2K인 대문자 단어 N개가 주어진다.

코코스는 각 정점이 글자 하나를 담고 있는 유향 그래프이다. 주어진 모든 단어는 이 그래프의 어떤 경로로 읽을 수 있어야 한다. 즉, 그 경로의 정점에 적힌 글자를 순서대로 이어 쓰면 해당 단어와 정확히 같아야 한다.

각 단어를 나타내는 길이 2K의 경로에서 정점들은 다음 조건을 만족해야 한다.

  • 첫 번째 정점의 진입 차수는 0이다.
  • 그 다음 K - 1개 정점의 진입 차수는 1이다.
  • 그 다음 K - 1개 정점의 진출 차수는 1이다.
  • 마지막 정점의 진출 차수는 0이다.

따라서 한 단어의 앞쪽 K글자는 갈라질 수 있고, 뒤쪽 K글자는 합쳐질 수 있다.

주어진 N개의 단어를 모두 표현할 수 있는 코코스 중 정점 수가 가장 적은 것의 정점 수를 구하시오.

아래 첫 번째 그림은 조건을 만족하면서 정점 수가 최소인 코코스의 한 예시이다.

아래 두 번째 그래프는 더 적은 정점을 사용하지만 코코스가 아니다.

이 그래프에서는 네 번째 글자 D에서 경로가 합쳐지고 여섯 번째 글자 E에서 다시 갈라지므로 조건을 만족하지 않는다.

입력

첫째 줄에 NK가 주어진다. (1 <= N <= 10,000, 1 <= K <= 100)

다음 N개 줄에는 알파벳 대문자로만 이루어진 길이 2K의 단어가 하나씩 주어진다.

출력

주어진 단어를 모두 표현할 수 있는 코코스 중 정점 수가 가장 적은 것의 정점 수를 출력한다.