Module: Função de prefixo, função Z


Problem

9 /10


Códigos quase não prefixados

Problem

Na teoria da codificação, os códigos sem prefixo são freqüentemente usados ​​como conjuntos de palavras, nenhuma das quais é um prefixo. Diz-se que a palavra α precede a palavra β se α for obtido de β excluindo zero ou mais caracteres no final. Por exemplo, as palavras a, ab e aba são prefixos da palavra aba. Por exemplo, o conjunto de palavras aba, aa e bac é um código sem prefixo, enquanto o conjunto de abac , aba, ba não está presente porque a palavra aba é um prefixo da palavra abac.

 Professor Decipher trabalha no Laboratório de Pesquisa de Informações Inúteis e estuda sua nova invenção de códigos quase prefixados. Um conjunto de palavras é chamado de código quase sem prefixo de nível k se o maior prefixo comum de quaisquer duas palavras do conjunto não exceder k de comprimento. Por exemplo, o conjunto abac, abc, ba é um código de nível 2 quase sem prefixo, e o conjunto abac , abab, ba não existem porque o maior prefixo comum de abac e abab é 3.

 A próxima tarefa que o professor Decifro definiu para seus assistentes de laboratório é a seguinte: dado um conjunto de palavras e um número k, é necessário escolher entre os dados palavras o conjunto máximo, que é quase código de nível livre de prefixo k. Você, como assistente de laboratório júnior, foi designado para escrever o programa correspondente.

 
Entrada
A primeira linha do arquivo de entrada contém dois inteiros: n e k o número de palavras no conjunto fornecido e o nível de código quase sem prefixo a ser construído ( \(1<= n <= 100000\), \(0 <= k <= 200\) ). As próximas n linhas contêm uma palavra cada. As palavras consistem em letras minúsculas do alfabeto latino. O comprimento de cada palavra é de 1 a 200 caracteres. O comprimento total de todas as palavras não excede \(10^6\). Todas as palavras são diferentes.
 
Saída
Saia um único número m - o número máximo de palavras que podem ser selecionadas do conjunto fornecido para que formem um código de nível k quase sem prefixo. 

 

Exemplos
# Entrada Saída
1
6 2
aba
bacaba
abacaba
baca
abac
caba
3