#include using namespace std; using ll = long long; #define rep(i, n) for (int i = 0; i < (int)(n); i++) void rotate(vector &s) { int n = s.size(); auto t = s; rep(i, n) rep(j, n) { t[i][j] = s[j][n - i - 1]; } s = t; } int main() { cin.tie(nullptr); ios_base::sync_with_stdio(false); int n, m; cin >> n >> m; vector> s(n, vector(m)); rep(i, n) rep(j, m) cin >> s[i][j]; int ans = m * m; vector> cur(m, vector(m, 0)); function rec = [&](int i) { if (i == n) { int s = 0; rep(j, m) rep(k, m) { if (cur[j][k]) s++; } ans = min(ans, s); return; } rep(r, 4) { rep(j, m) rep(k, m) { if (s[i][j][k] == '#') cur[j][k]++; } rec(i + 1); rep(j, m) rep(k, m) { if (s[i][j][k] == '#') cur[j][k]--; } rotate(s[i]); } return; }; rec(0); cout << ans << endl; return 0; }