4.09 A Flexible Puzzle Assignment - Extra Credit