Множественное словообразие: поиск всех возможных перестановок символов

JavaScript Сложный sets

Задача «Множественное словообразие: поиск всех возможных перестановок символов»

Дана строка, состоящая из строчных латинских букв. Необходимо найти и вывести все уникальные перестановки символов этой строки (без повторений, если в строке есть одинаковые буквы). Результат должен быть отсортирован в лексикографическом порядке. Используйте множества (Set) для отслеживания уже добавленных перестановок и избежания дубликатов. Ограничение: длина строки ≤ 10 символов.

Формат ввода

Единственная строка, содержащая строчные латинские буквы (a-z).

Формат вывода

Каждая уникальная перестановка на новой строке, в лексикографическом порядке. Если перестановок нет (пустая строка), вывести "none".

Примеры

Пример 1

ВВОД
aab
ВЫВОД
aab aba baa

Пример 2

ВВОД
3 3 apple 1 banana 2 cherry
ВЫВОД
3

Пример 3

ВВОД
abc
ВЫВОД
abc acb bac bca cab cba

Пример 4

ВВОД
2 5 cat 5 dog
ВЫВОД
2

Пример 5

ВВОД
aa
ВЫВОД
aa
main.js