#include <cstdio>
#include <cstring>
using namespace std;
int n,m,i,maxim,j;
int S[105][105];
char drum[105][105];
int max(int a,int b)
{
    return a>b?a:b;
}
int main()
{
    scanf("%d %d",&n,&m);
    for (i=1;i<=n;i++)
        scanf("%s",drum[i]);
    for (i=1;i<=n;i++)
        for (j=0;j<m;j++)
        {
            if (i==1 && j==0) S[i][j]=1;
            else if (drum[i][j]=='.')
            {
                if (drum[i-1][j]=='&' && drum[i][j-1]!='&') S[i][j]=S[i][j-1]+1;
                else if (drum[i][j-1]=='&' && drum[i-1][j]!='&') S[i][j]=S[i-1][j]+1;
                else if (drum[i-1][j]!='&' && drum[i][j-1]!='&') S[i][j]=max(S[i-1][j],S[i][j-1])+1;
            }
            if  (S[i][j]>maxim) maxim=S[i][j];
        }
    printf("%d",maxim);
    return 0;
}