Author: Andrey Bogdanov
Divide the grid into nonoverlapping regions. Each region should contain exactly one circle. Any region containing a black circle should be a square. Any region containing a white circle should be a rectangle not a square. Regions of the same area can not share an edge (but can share a corner).
Grid control: To draw a cut click at the cell edge or move mouse along the line holding the button. You can also connect the centers of cells which belong to the same rectangle with auxiliary line. In this case cut lines will be added automatically. More details about grid control are at the help page.