Variação de palavras múltiplas: encontrar todas as permutações possíveis de caracteres

JavaScript Hard sets

Tarefa «Variação de palavras múltiplas: encontrar todas as permutações possíveis de caracteres»

Dada uma string composta por letras latinas minúsculas. É necessário encontrar e exibir todas as permutações únicas de caracteres desta string (sem repetições, se a string tiver letras iguais). O resultado deve ser ordenado em ordem lexicográfica. Use conjuntos (Set) para rastrear permutações já adicionadas e evitar duplicatas. Limitação: comprimento da string ≤ 10 caracteres.

Formato de Entrada

Uma única linha contendo letras latinas minúsculas (a-z).

Formato de Saída

Cada permutação única em uma nova linha, em ordem lexicográfica. Se não houver permutações (string vazia), exibir "none".

Exemplos

Exemplo 1

ENTRADA
aab
SAÍDA
aab aba baa

Exemplo 2

ENTRADA
3 3 apple 1 banana 2 cherry
SAÍDA
3

Exemplo 3

ENTRADA
abc
SAÍDA
abc acb bac bca cab cba

Exemplo 4

ENTRADA
2 5 cat 5 dog
SAÍDA
2

Exemplo 5

ENTRADA
aa
SAÍDA
aa
main.js