#include <stdio.h>
#include <stdlib.h>

int m, n;
char a[100][100];
int b[100][100];

void Init();
void Lee();

int main()
{
    int i, j, max = 0;
    char s[2];

    scanf("%d%d", &n, &m);
    gets(s);
    for (i = 0; i < n; i++)
        gets(a[i]);

    Init();
    Lee(1, 0, 0);
    if (a[0][0] == '.')
        for (i = 0; i < n; i++)
            for (j = 0; j < m; j++)
            {
                if (max < b[i][j])
                    max = b[i][j];
            }

    printf("%d", max);

    return 0;
}

void Init()
{
    int i, j;

    for (i = 0; i < 100; i++)
        for (j = 0; j < 100; j++)
        {
            b[i][j] = 0;
        }
}

void Lee(int l, int i, int j)
{
    b[i][j] = l;
    if (j+1 < m)
        if ((a[i][j+1] == '.') && (b[i][j+1] <= l))
            Lee(l+1, i, j+1);

    if (i+1 < n)
        if ((a[i+1][j] == '.') && (b[i+1][j] <= l))
            Lee(l+1,i+1,j);
}