Почти беспрефиксные коды
В теории кодирования часто используют беспрефиксные коды - наборы слов, ни одно из которых не является префиксом другого. Например, набор слов "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 строк должны содержать выбранные слова.