Майже безпрефіксні коди
У теорії кодування часто використовують безпрефіксні коди - набори слів, жодне з яких не є префіксом іншого. Наприклад, набір слів "aba", "aa" та "bac" є безпрефіксним кодом, а набір "abac", "aba", "ba" - ні, оскільки слово "aba" є префіксом слова "abac".
Професор Дешифро працює у лабораторії досліджень нікому не потрібної інформації і вивчає свій новий винахід - майже безпрефіксні коди. Набір слів називається майже безпрефіксним кодом рівня k, якщо найбільший спільний префікс двох довільних слів з набору не перевищує по довжині k. Наприклад, набір "abac", "abс", "ba" є майже безпрефіксним кодом рівня 2, а набір "abac", "abab", "ba" - ні, оскільки найбільший спільний префікс слів "abac" та "abab" має довжину 3.
Чергова задача, яку професор Дешифро поставив своїм лаборантам, полягає у наступному: за заданим набором слів та числом k потрібно вибрати із заданих слів максимальний набір, який є майже безпрефіксним кодом рівня k. Вам, як молодшому лаборанту, доручили написати відповідну програму.
Вхідні дані
Перший рядок вхідного файлу містить два цілих числа: n та k - кількість слів у заданому наборі та рівень майже безпрефіксного кода, який потрібно побудувати (1 ≤ n ≤ 100000, 0 ≤ k ≤ 200). Наступні n рядків містять по одному слову. Слова складаються з рядкових букв латинського алфавіту. Довжина кожного слова від 1 до 200 символів. Сумарна довжина усіх слів не перевищує 10^6. Усі слова різні.
Вихідні дані
У першому рядку вихідного файлу виведіть одне число m - максимальну кількість слів, яку можна вибрати із заданого набору, щоб вони утворювали майже безпрефіксний код рівня k. Наступні m рядків повинні містити вибрані слова.