puzzle.sat