Normal sudoku rules apply. Digits on a white dot must be consecutive (not all dots are given). A digit in a grey square must be even. Each cell containing a circle is the head of a parity snake, whose length is the digit in the circle. A parity snake is a non-branching one-cell-wide path of orthogonally connected cells of the same parity, which may not orthogonally touch itself or other cells of matching parity. A snake may not have two heads, and may be a single cell.