Statement is not available in English language
A. Крош и пароль
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Крош для входа в тестовую систему одного из сайтов по программированию придумал пароль. Но, вот незадача: вскоре Крошу захотелось порешать задачи и на другом сайте, а потом и на третьем. Так как Крошу лень придумывать кардинально новый пароль каждый раз, он решил в качестве нового пароля брать пароль, который является перестановкой символов пароля на самом первом сайте. А чтобы не ошибиться, он хочет, чтобы новый пароль отличался от первоначального не более чем в $$$3$$$ символах. То есть должно существовать не более трех индексов $$$1 \le i \le len(s)$$$, таких, что $$$s(i) \neq t(i)$$$, где $$$s$$$ – исходная строка, $$$t$$$ – новый пароль и $$$len(s)$$$ – их длина. Сгенерируйте для Кроша $$$x$$$ таких паролей. Гарантируется, что для входной строки это можно сделать. Гарантируется, что $$$x = 10$$$ для семпла и $$$x = 100$$$ – для всех остальных наборов входных данных.

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

В первой строке вам дано число $$$x$$$. В следующей строке вам задан первоначальный пароль – строка из не более чем $$$40$$$ символов.

Эта задача не содержит подзадач. За корректное решение задачи вы получаете $$$100$$$ баллов.

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

Выведите в любом порядке $$$x$$$ строк, по одному в каждой строке. Каждая строка должна быть перестановкой входной строки и отличаться от нее не более чем в трех позициях.

Пример
Входные данные
10
annbabcab
Выходные данные
aannabcbb
aanbabcnb
aannbbcab
aanbabncb
aanbabcbn
aanbbncab
aanbnbcab
aanbancbb
aanbbbcan
aanbcbnab