#include #include #define NMAX 111 char A[NMAX][NMAX]; int L[NMAX][NMAX]; int M, N, i, j, lmax; int main() { scanf("%d %d", &M, &N); for (i = 1; i <= M; i++) scanf("%s", &(A[i][1])); memset(L, 0, sizeof(L)); for (i = 1; i <= M; i++) for (j = 1; j <= N; j++) if (A[i][j] == '.') { if (L[i - 1][j] > L[i][j - 1]) L[i][j] = 1 + L[i - 1][j]; else L[i][j] = 1 + L[i][j - 1]; if (L[i][j] == 1 && (i > 1 || j > 1)) L[i][j] = 0; } for (lmax = 0, i = 1; i <= M; i++) for (j = 1; j <= N; j++) if (L[i][j] > lmax) lmax = L[i][j]; printf("%d\n", lmax); return 0; }