#include <iostream>
#include <algorithm>
using namespace std;
int x[101][101],y[101][101],i,j,n,m,maxi;
char c;
void fill(int a,int b,int k)
{
    if(a<=n && b<=m && x[a][b]==0)
    {
        y[a][b]==k;
        if(k>maxi) maxi=k;
        fill(a+1,b,k+1);
        fill(a,b+a,k+1);
    }
}
int main()
{
    cin>>n>>m;
    for(i=1;i<=n;i++) y[i][0]=0;
    for(i=1;i<=m;i++) y[0][i]=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            cin>>c;
            if(c=='.') x[i][j]=0;
            else x[i][j]=1;
        }
    fill(1,1,1);
    cout<<maxi-1;
    return 0;
}