#include <iostream>
#include <fstream>
#include <string>
using namespace std;

ifstream f("run.in");
ofstream g("run.out");

string tab[105];

int n,m,aux[105][105],ok=0,max1=0;
void din(int x,int y)
{
  if(y+1<=m && aux[x][y]+1>aux[x][y+1] && aux[x][y+1]!=-1)
      {
        aux[x][y+1]=aux[x][y]+1;
        din(x,y+1);
      }
  if(x+1<=n && aux[x][y]+1>aux[x+1][y] && aux[x+1][y]!=-1)
      {
        aux[x+1][y]=aux[x][y]+1;
        din(x+1,y);
      }
}
int main()
{
  int i,j;
  cin>>n>>m;
  cin.get();
  for(i=1;i<=n;i++)
      {
        cin>>tab[i];
        for(j=1;j<=m;j++)
            {
              if(tab[i][j-1]=='.')
                aux[i][j]=0;
              if(tab[i][j-1]=='&')
                  aux[i][j]=-1;
            }
      }
   if(aux[1][1]==-1)
   {
     ok=1;
     aux[1][1]=1;
   }
   aux[1][1]=1;

   din(1,1);
   for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
          if (aux[i][j]>max1)
              max1=aux[i][j];

    if(ok==1)
      cout<<max1-1;
    else cout<<max1;
}