Primeira e última em ordem lexicográfica

Retorne, em um array de duas strings, a primeira e a última reorganização de uma string de letras minúsculas em ordem lexicográfica.

Exemplos

Program.firstAndLast("marmite") ➞ ["aeimmrt", "trmmiea"]
Program.firstAndLast("bench") ➞ ["bcehn", "nhecb"]
Program.firstAndLast("scoop") ➞ ["coops", "spooc"]

Notas

A primeira reorganização é a que apareceria primeiro em um dicionário de inglês; a última é a que apareceria por último.