무용 발표회

주어진 루틴들을 재배열해 연속된 두 루틴에 함께 나오는 무용수 수의 합을 최소화합니다.

보통6동적 계획법비트 연산아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

무용단의 공연 감독은 정기 무용 발표회에 드는 비용을 계산해야 한다. 실력이 뛰어난 무용수는 여러 작품에 겹쳐 출연하는데, 여기서 문제가 하나 생긴다. 작품마다 의상이 다르기 때문에 무용수는 한 작품이 끝나면 무대 뒤 의상 담당자에게 가서 다음 작품이 시작하기 전에 옷을 갈아입어야 한다.

한 무용수가 서로 붙어 있지 않은 두 작품에 출연하면 의상 담당자는 일반 교체를 한다. 그러나 바로 이어지는 두 작품에 연속으로 출연하면 급속 교체가 필요하다. 의상 담당자는 발표회 한 번마다 정액 요금을 받고 일반 교체를 모두 처리하지만, 급속 교체는 건당 아주 비싼 값을 따로 받는다. 공연 감독은 예산을 지켜야 하고, 작품 순서는 마음대로 바꿀 수 있다. 주어진 발표회에서 필요한 급속 교체 횟수의 최솟값을 구하라.

발표회에 나오는 무용수는 각각 대문자 하나로 구분한다. 무용수는 26명을 넘지 않으므로 A부터 Z까지면 충분하다. 발표회 전체는 작품 목록으로 적고, 각 작품은 그 작품에 출연하는 무용수를 모아 놓은 문자열로 적는다. 예를 들어 다음 발표회를 보자.

ABC
ABEF
DEF
ABCDE
FGH

이 발표회는 작품 5개로 이루어지고 무용수는 A부터 H까지 8명이 나온다. 첫 작품에는 {A, B, C}가, 두 번째 작품에는 {A, B, E, F}가 출연한다. 이 두 작품을 위 순서대로 공연하면 A와 B는 그 사이에 급속 교체를 해야 한다. 다섯 작품을 위에 적힌 순서 그대로 공연하면 급속 교체가 모두 여섯 번 필요하다. 그런데 순서를 다음처럼 바꿀 수 있다.

ABEF
DEF
ABC
FGH
ABCDE

이렇게 하면 급속 교체는 두 번으로 끝난다. 처음 두 작품 사이에서 E와 F가 갈아입는 것이 전부다.

입력

첫째 줄에 작품 수 RR이 주어진다 (2R102 \le R \le 10).

이어지는 RR개의 줄에 각 작품의 출연진이 한 줄에 하나씩 주어진다. 각 줄은 서로 다른 대문자를 사전순으로 정렬해 이어 붙인 비어 있지 않은 문자열이고, 길이는 최대 26이다. 한 작품 안에서 같은 무용수가 두 번 나오지는 않지만, 한 무용수가 여러 작품에 나올 수 있고 출연진이 완전히 같은 작품이 둘 이상 있을 수도 있다.

출력

발표회에 필요한 급속 교체 횟수의 최솟값을 정수 하나로 출력한다.