#include using namespace std; typedef long long ll; typedef long double ld; typedef pair ii; typedef vector vi; typedef vector vvi; typedef vector vii; #define x first #define y second #define pb push_back #define eb emplace_back #define all(v) (v).begin(), (v).end() void run() { ll n, m; cin >> n >> m; vi P(n/2, 0); for (ll i = n-1; i >= 0; i--) { string line; cin >> line; for (ll j = 0; j < m; j++) { if (line[j] == '#') { P[i/2] |= 1< 0) { BC[i] += j%2; j /= 2; } } vvi T(n/2+1, vi(1<>1)) != 0 || ((j|(j>>1))&P[i-1]) != P[i-1]) continue; for (ll k = 0; k < (1<>1))&j) != j) continue; T[i][j] = min(T[i][j], T[i-1][k] + BC[j]); } if (i == T.size() - 1 ) { res = min(res, T[i][j]); } } } cout << res << endl; } signed main() { ios_base::sync_with_stdio(false); cin.tie(0); run(); return 0; }