note dragonchild Bravo! Very neat solution. And, a beautiful demonstration of the fact that the right data structure isn't just important, it's everything. <p>Also, I like the heavy usage of map and grep. A little harder to read at first (as a programmer who's functional at play, not at work), but very concise. <p>Question - how does the regex engine not choose a free square in d4 when looking for free squares in d3? I'm guessing it has to do with <code>[\x00-\xFF]*</code>, but I'm not positive as to how that's working ... <div class="pmsig"><div class="pmsig-85580"> <p>------<br><i>We are the carpenters and bricklayers of the Information Age.</i><p><i>The idea is a little like C++ templates, except not quite so brain-meltingly complicated.</i> -- [TheDamian], Exegesis 6<p>Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified. </div></div> 297616 297616