n, m = list(map(int, input().split())) ans = 1<<60 S = [[[input() for _ in range(m)] for _ in range(n)]] def cal(S0): T = [] for _ in range(n): T.append([[S0[_][x][m-1-y] for x in range(m)] for y in range(m)]) return T for _ in range(3): S.append(cal(S[-1])) for bit in range(1<<(2*n)): A = [[0 for _ in range(m)] for _ in range(m)] for i in range(n): s = (bit >> 2*i) & 3 for y in range(m): for x in range(m): if S[s][i][y][x] == "#": A[y][x] = 1 ans = min(sum([sum(aa) for aa in A]), ans) print(ans)