Задача №1553. Игра в слова

Недавно на уроке английского языка одноклассникам Димы предложили такую игру: составить как можно больше слов, используя только буквы слова, записанного на доске, причем каждую букву можно использовать не более одного раза. Например, из слова cart можно получить слова: cat, art, rat. Придя домой, Дима задался вопросом: сколько слов длины \(k\) можно получить из заданного слова по данным правилам. Поскольку словаря в электронном виде у Димы под рукой не оказалось, то он решил сначала выписать все возможные цепочки из \(k\) символов, составленные из букв исходного слова, а потом уже проверять их по словарю.

Напишите программу, которая по заданному слову выводит все слова длины \(k\) (натуральное, не превосходит длины исходного слова), которые можно получить из исходного слова по заданному правилу, в алфавитном порядке.

Входные данные

сначала вводится исходное слово, затем, на следующей строке – число \(k\). Гарантируется, что длина слова не превышает 8 символов и при его написании используются только маленькие латинские буквы.

Выходные данные

выведите все цепочки, состоящие ровно из \(k\) символов, которые можно составить из букв исходного слова, используя каждую букву не более одного раза, в алфавитном порядке.

Примеры
Входные данные
cat
1
Выходные данные
a
c
t
Входные данные
zero
2
Выходные данные
eo
er
ez
oe
or
oz
re
ro
rz
ze
zo
zr
Сдать: для сдачи задач необходимо войти в систему