#include <cstdio>

using namespace std;

long dp [101][101];
char s [101][101];

int main () {
    long n, m, i, j, maxim, maxx2= 0;
    scanf ("%ld%ld\n", &n, &m);
    for (i = 0; i < n; i ++)
        gets (s [i]);
    if (s [0][0] == 1)
        dp [0][0] = 1;
    for (i = 0; i < n; i ++)
        for (j = 0; j < m; j ++) {
            if (i == 0 && j == 0)
                continue;
            if (s [i][j] == '.') {
                maxim = 0;
                if (i - 1 >= 0 && dp [i - 1][j] > maxim && s [i - 1][j] == '.')
                    maxim = dp [i - 1][j];
                if (j - 1 >= 0 && dp [i][j - 1] > maxim && s [i][j - 1] == '.')
                    maxim = dp [i][j - 1];
                if (maxim == 0)
                    dp [i][j] = 0;
                else
                    dp [i][j] = maxim + 1;
            }
            if (s [i][j] == '&')
                dp [i][j] = 0;
            if (dp [i][j] > maxx2)
                maxx2 = dp [i][j];
        }
        printf ("%ld\n", maxx2);
    return 0;
}