Module: Funzione prefisso, funzione Z


Problem

9 /10


Codici quasi senza prefisso

Problem

Nella teoria dei codici, i codici senza prefisso sono spesso usati come insiemi di parole, nessuno dei quali è un prefisso. Si dice che la parola α prefissi la parola β se α è ottenuto da β cancellando zero o più caratteri alla fine. Ad esempio, le parole a, ab e aba sono prefissi della parola aba. Ad esempio, l'insieme di parole aba, aa e bac è un codice senza prefisso, mentre l'insieme di abac , aba, ba non è presente perché la parola aba è un prefisso della parola abac.

 Il Professor Decipher lavora nel Laboratorio di ricerca sulle informazioni inutili e studia la sua nuova invenzione dei codici quasi prefissi. Un insieme di parole è chiamato codice quasi privo di prefisso di livello k se il massimo prefisso comune di due parole qualsiasi dell'insieme non supera k in lunghezza. Ad esempio, l'insieme abac, abc, ba è un codice di livello 2 quasi senza prefisso e l'insieme abac , abab, ba non esistono perché il prefisso comune più lungo di abac e abab è 3.

 Il compito successivo che il Professor Decifro ha assegnato ai suoi assistenti di laboratorio è il seguente: dato un insieme di parole e un numero k, è necessario scegliere tra i dati parole l'insieme massimo, che è quasi privo di prefisso codice di livello k. Tu, come assistente di laboratorio junior, sei stato incaricato di scrivere il programma corrispondente.

 
Input
La prima riga del file di input contiene due numeri interi: n e k il numero di parole nell'insieme dato e il livello di codice quasi senza prefisso da costruire ( \(1<= n <= 100000\), \(0 <= k <= 200\) ). Le successive n righe contengono una parola ciascuna. Le parole sono costituite da lettere minuscole dell'alfabeto latino. La lunghezza di ogni parola va da 1 a 200 caratteri. La lunghezza totale di tutte le parole non supera \(10^6\). Tutte le parole sono diverse.
 
Uscita
Produci un singolo numero m - il numero massimo di parole che possono essere selezionate dall'insieme dato in modo che formino un codice di livello k quasi senza prefisso. 

 

Esempi
# Input Uscita
1
6 2
aba
bacaba
abacaba
bacca
abac
caba
3