(although a really interesting thing happened in
this challenge where Jelly, which is optimized for the direct algorithmic approach, ended up having a shorter generate-all-solutions solution because the challenge is very list-heavy and Jelly's fairly verbose on nested lists; whereas Brachylog, which is optimized for the describe-the-problem approach, ended up having a shorter solution stating the algorithm…)