Module: Fonction préfixe, fonction Z


Problem

9 /10


Codes presque sans préfixe

Problem

Dans la théorie du codage, les codes sans préfixe sont souvent utilisés comme ensembles de mots, dont aucun n'est un préfixe. Le mot α est dit préfixer le mot β si α est obtenu à partir de β en supprimant zéro ou plusieurs caractères à la fin. Par exemple, les mots a, ab et aba sont des préfixes du mot aba. Par exemple, l'ensemble des mots aba, aa et bac est un code sans préfixe, tandis que l'ensemble des mots abac , aba, ba n'est pas présent car le mot aba est un préfixe du mot abac.

 Le professeur Decipher travaille dans le laboratoire de recherche sur les informations inutiles et étudie sa nouvelle invention de codes proches du préfixe. Un ensemble de mots est appelé un code presque sans préfixe de niveau k si le plus grand préfixe commun de deux mots de l'ensemble ne dépasse pas k en longueur. Par exemple, l'ensemble abac, abc, ba est un code de niveau 2 presque sans préfixe, et l'ensemble abac , abab, ba n'existent pas car le plus long préfixe commun de abac et abab est 3.

 La tâche suivante que le professeur Decifro a confiée à ses assistants de laboratoire est la suivante : étant donné un ensemble de mots et un nombre k, il est nécessaire de choisir parmi les mots l'ensemble maximum, qui est le code de niveau k presque sans préfixe. En tant qu'assistant de laboratoire junior, vous avez été chargé d'écrire le programme correspondant.

 
Entrée
La première ligne du fichier d'entrée contient deux entiers : n et k le nombre de mots dans l'ensemble donné et le niveau de code presque sans préfixe à construire ( \(1<= n <= 100000\), \(0 <= k <= 200\) ). Les lignes n suivantes contiennent chacune un mot. Les mots sont constitués de lettres minuscules de l'alphabet latin. La longueur de chaque mot est de 1 à 200 caractères. La longueur totale de tous les mots ne dépasse pas \(10^6\). Tous les mots sont différents.
 
Sortie
Sortir un seul nombre m - le nombre maximum de mots pouvant être sélectionnés dans l'ensemble donné afin qu'ils forment un code de niveau k presque sans préfixe.  ;

 

Exemples
6 2
aba
bacaba
abacaba
baca
abac
caba
# Entrée Sortie
1 3