h, w = map(int, input().split()) A = [input() for _ in range(h)] f = lambda x, y: x*w+y g = lambda x: divmod(x, w) from atcoder.maxflow import MFGraph n = h*w+2 G = MFGraph(n) st = n-2 ed = n-1 add = G.add_edge cnt0 = 0 cnt1 = 0 for i in range(h): for j in range(w): if A[i][j]=='w': add(st, f(i, j), 1) cnt0 += 1 else: if A[i][j]=='b': add(f(i, j), ed, 1) cnt1 += 1 continue for di, dj in (0, 1), (1, 0), (-1, 0), (0, -1): ni, nj = i+di, j+dj if 0<=ni