eolymp
bolt
Try our new interface for solving problems
Məsələlər

Генерация анаграмм

Генерация анаграмм

Вам следует написать программу, которая сгенерирует все возможные слова из заданного набора букв.

Например, из слова "abc" в результате перестановки букв можно получить слова "abc", "acb", "bac", "bca", "cab" и "cba".

Входные слова могут содержать несколько одинаковых букв. Ваша программа не должна выводить одно и то же слово более одного раза. Все слова следует выводить по возрастанию в алфавитном порядке.

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

Первая строка содержит количество тестов. Каждая следующая строка содержит слово из букв латинского алфавита (от A до Z). Буквы верхнего и нижнего регистра считать различными.

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

Для каждого теста вывести все возможные слова, которые можно получить из заданных букв, в возрастающем алфавитном порядке. Каждое слово выводить в отдельной строке. В алфавитном порядке буква верхнего регистра меньше соответствующей буквы нижнего регистра.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
3
aAb
abc
acba
Çıxış verilənləri #1
Aab
Aba
aAb
abA
bAa
baA
abc
acb
bac
bca
cab
cba
aabc
aacb
abac
abca
acab
acba
baac
baca
bcaa
caab
caba
cbaa