#include #include using namespace std; int H,W; string S[2000]; int MX[2001][2001]; int C[2001][2001]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>H>>W; for(int i=0;i>S[i]; for(int i=H;i--;)for(int j=W;j--;) { if(S[i][j]=='.')MX[i][j]=0; else MX[i][j]=1+min(min(MX[i+1][j],MX[i][j+1]),MX[i+1][j+1]); } int L=1,R=2222; while(R-L>1) { int K=(L+R)/2; for(int i=0;i<=H;i++)for(int j=0;j<=W;j++)C[i][j]=0; for(int i=0;i+K<=H;i++)for(int j=0;j+K<=W;j++)if(MX[i][j]>=K) { C[i][j]++; C[i+K][j]--; C[i][j+K]--; C[i+K][j+K]++; } for(int i=0;i<=H;i++)for(int j=0;j