block puzzle (find valid sets of blocks to spell words horizontally and vertically)