В теории кодирования часто используют беспрефиксные коды --- наборы слов, ни одно из которых не является префиксом (Слово α называется префиксом слова β, если α получается из β удалением нуля или более символов в конце. Например, слова <<>>, <<a>>, <<ab>> и <<aba>> являются префиксами слова <<aba>>.) другого. Например, набор слов <<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≤100,000, 0≤k≤200). Следующие n строк содержат по одному слову. Слова состоят из строчных букв латинского алфавита. Длина каждого слова от 1 до 200 символов. Суммарная длина всех слов не превышает 106. Все слова различны.
На первой строке выходного файла выведите одно число m --- максимальное количество слов, которые можно выбрать из заданного набора, чтобы они образовывали почти беспрефиксный код уровня k. Следующие m строк должны содержать выбранные слова.