Kakurasu

Kakurasu (Bokkusu) is a Japanese logic puzzle. Color the gray cells of the grid either black or white according to the rules.