import Prelude; public tuple[str, str, int] bestShuffle(str s){ characters = chars(s); ranking = { | p <- permutations(characters)}; best = { | <- ranking, n == min(range(ranking))}; return takeOneFrom(best)[0]; } public int countSame(list[int] permutations, list[int] characters){ return (0 | it + 1 | n <- index(characters), permutations[n] == characters[n]); }