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]); }