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.
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 |