Esta questão é fortemente baseada nessa questão , mas deve apresentar várias dificuldades adicionais.
Sua tarefa
Você deve escrever um programa ou função que, ao receber uma string, imprima todos os anagramas possíveis. Para os fins desta pergunta, um anagrama é uma sequência que contém o mesmo caractere que a sequência original, mas não é a sequência original. Um subanagrama é um anagrama de uma substring de uma string inserida. Anagramas e subanagramas não precisam ser ou conter palavras reais.
Entrada
Você pode aceitar uma string, que pode ter qualquer tamanho> 0, por qualquer método de entrada padrão. Pode conter caracteres ASCII.
Resultado
Você pode emitir todos os anagramas e subanagramas possíveis da string inserida de qualquer maneira padrão. Você não deve produzir a mesma sequência duas vezes ou produzir uma sequência igual à entrada.
Outras regras
Brechas padrão não são permitidas
Pontuação
Isso é código-golfe , menos bytes ganhos.