Draw a snake (a 1 cell-wide path) in the grid whose head and tail are given by circled cells. The snake can touch itself diagonally, but cannot touch itself orthogonally or revisit any square. Besides the snake, the remaining cells must form exactly nine white areas, one of each size from 1 to 9. Numbers in the grid must be part of white areas of the indicated size. (For the solution check function to work, place a digit into each white cell equal to the size of its region.)