#include <iostream>

using namespace std;

char a[105][105];
int dp[105][105];

int main()
{
    int i,j,N,M,maxim;
    cin>>N>>M;
    for(i=1;i<=N;++i)
        for(j=1;j<=M;++j)
            cin>>a[i][j];
    if(a[1][1]=='&')
        cout<<0;
    else
    {
        dp[1][1]=1;
        for(i=1;i<=N;++i)
            for(j=1;j<=M;++j)
                if(a[i][j]=='&')
                    dp[i][j]=0;
                else
                {
                    if(dp[i-1][j])
                        dp[i][j]=max(dp[i][j], dp[i-1][j]);
                    if(dp[i][j-1])
                        dp[i][j]=max(dp[i][j], dp[i][j-1]);
                    if(dp[i][j])
                        ++dp[i][j];
                }
        maxim=0;
        for(i=1;i<=N;++i)
            for(j=1;j<=M;++j)
                maxim=max(maxim,dp[i][j]);
        cout<<maxim;
    }
    return 0;
}