단어 그룹화
시간 제한1초메모리 제한1024 MB
최대 15종류의 알파벳으로 이루어진 N개의 단어를, 각 묶음마다 모든 단어가 공통으로 가진 문자가 하나 이상 있도록 최소 개수의 묶음으로 나눈다.
문제
아담(Adomas)은 다차원 십자말풀이를 만들기로 했고, 이를 위해 단어들을 여러 그룹으로 나누어야 합니다.
그는 개의 단어를 골라 두었습니다. 단어에는 라틴 알파벳의 처음 개 글자만 나타납니다. 한 단어 안에서 같은 글자가 여러 번 나올 수 있고, 단어들의 길이는 서로 다를 수 있습니다.
아담은 모든 단어를 가능한 한 적은 수의 그룹으로 나누려고 합니다. 단, 각 그룹에는 그 그룹에 속한 모든 단어가 공통으로 가지고 있는 글자가 적어도 하나는 있어야 합니다.
단어들을 최소 몇 개의 그룹으로 나눌 수 있는지 구하세요.
입력
첫째 줄에 단어의 개수 과 단어에 사용되는 서로 다른 글자의 개수 이 주어집니다. 이어지는 개의 줄에는 각각 하나의 단어가 주어집니다. 각 단어는 길이가 50 이하인 대문자 라틴 알파벳 문자열이며, 라틴 알파벳의 처음 개 글자만 사용합니다.
출력
단어들을 나눌 수 있는 그룹의 최소 개수를 출력하세요.