The name of the puzzle is shuffle. Load init-shuffle. Ok. The name of the action is write-1-to-9. You can write a number that is between one and nine onto an empty location. If the value of a location is absent then the location is empty. The solution has three steps. Load final-shuffle. The name of the goal is all-filled. Ok. The goal is that all locations are filled. If the value of a location is more than zero then the location is filled. Load fail-shuffle. The name of a failure is file-sum. Ok. If the green locations in a file are filled and the sum of the values of the file is not the value of a location that is beneath the file then you lose. If the blocks have the same column then they are in a file. If a block is blue and the column of the block is the column of a location then the block is beneath the location. The name of a failure is rank-sum. Ok. If the green locations in a rank are filled and the sum of the values of the rank is not the value of a location that is beside the rank then you lose. If the blocks have the same row then they are in a rank. If a block is blue and the row of the block is the row of a location then the block is beside the location. Done. No.