Renumbered Groovy solutions.