That said, I won't purport that any of the solutions are optimal; only that they are beautifully terse. Experienced newLISPers will be quick to point out how horrible I might've done something, but this was a means to an end of learning the language. Repo for some solved problems here: