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