from itertools import product N, M = map(int, input().split()) patterns = [] for _ in range(N): g = [input() for _ in range(M)] patterns.append(g) def rotate(g): return [''.join(g[M - 1 - j][i] for j in range(M)) for i in range(M)] # 各パターンの4方向を前計算 rots = [] for g in patterns: tmp = [] now = g for _ in range(4): tmp.append(now) now = rotate(now) rots.append(tmp) ans = M * M for dirs in product(range(4), repeat=N): black = 0 for r in range(M): for c in range(M): for i in range(N): if rots[i][dirs[i]][r][c] == '#': black += 1 break ans = min(ans, black) print(ans)