Demək olar ki, prefikssiz kodlar#4675

Demək olar ki, prefikssiz kodlar

2 saniyə
256 meqabayt
Asan

Kod nəzəriyyəsində, prefiks-sərbəst kodlar elə sözlər toplusudur ki, heç bir söz digərinin prefiksi olmur. Məsələn, **aba**, **aa** və **bac** sözlər toplusu prefiks-sərbəst koddur, halbuki **abac**, **aba**, **ba** deyil, çünki **aba** sözü **abac** sözünün prefiksidir.

Lazımsız məlumatların öyrənilməsi ilə məşğul olan bir laboratoriyada çalışan professor Deşifro, son ixtirasını – demək olar ki, prefiks-sərbəst kodları – araşdırır. Sözlər toplusu səviyyəli demək olar ki, prefiks-sərbəst kod adlanır, əgər bu topludakı istənilən iki sözün ən uzun ümumi prefiksi ən çox simvol uzunluğunda olsa. Məsələn, **abac**, **abc**, **ba** toplusu səviyyəli demək olar ki, prefiks-sərbəst koddur, halbuki **abac**, **abab**, **ba** deyil, çünki **abac** və **abab** sözlərinin ən uzun ümumi prefiksi uzunluğu -dür.

Professor Deşifronun laboratoriya köməkçilərinə verdiyi son tapşırıq budur: verilmiş sözlər toplusu və ədədi üçün, verilmiş sözlərdən maksimum neçə söz seçmək olar ki, bunlar səviyyəli demək olar ki, prefiks-sərbəst kod təşkil etsin? Kiçik laboratoriya köməkçisi olaraq, bu tapşırıq üçün proqram yazmalısan.

Giriş

Birinci sətirdə iki tam ədəd verilir: və (1 \leq n \leq 100\,000, 0 \leq k \leq 200) — sözlər toplusundakı sözlərin sayı və qurulacaq demək olar ki, prefiks-sərbəst kodun səviyyəsi. Növbəti sətrin hər birində kiçik latın hərflərindən ibarət bir söz verilir. Hər bir sözün uzunluğu -dən -ə kimidir. Bütün sözlərin ümumi uzunluğu 10^6-dan çox deyil. Bütün sözlər fərqlidir.

Çıxış

Verilmiş sözlərdən seçilə bilən maksimum ədədi çıxışa yazın ki, onlar səviyyəli demək olar ki, prefiks-sərbəst kod təşkil etsin. Daha sonra seçilmiş sözləri bir-bir sətirlə çap edin.

Nümunələr

Nümunə 1

Loading
Loading