#include #include int main() { using namespace std; int h, w; cin >> h >> w; vector s(h); for (auto &e : s) { cin >> e; } vector dp(h + 1, vector(w + 1, 0)); int ans = 0; for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { if (s[i][j] == '.') { continue; } dp[i + 1][j + 1] = h; dp[i + 1][j + 1] = min(dp[i + 1][j + 1], dp[i + 1][j] + 1); dp[i + 1][j + 1] = min(dp[i + 1][j + 1], dp[i][j + 1] + 1); dp[i + 1][j + 1] = min(dp[i + 1][j + 1], dp[i][j] + 1); ans = max(ans, dp[i + 1][j + 1]); } } cout << (ans + 1) / 2 << endl; }