Port r6710 from puzzles: