#include #include using namespace std; int n,m,i; bool viz[105][105]; char drum[105][105]; int coada[2][10005]; int val[105][105]; int ic,sf; inline int coadax() { int maxdrum=ic=sf=1; coada[0][1]=val[1][0]=1; coada[1][1]=0; while (ic<=sf) { int x=coada[0][ic],y=coada[1][ic]; viz[x][y]=1; if (drum[x+1][y]!='&' && !viz[x+1][y] && x+1<=n) { coada[0][++sf]=x+1; coada[1][sf]=y; viz[x+1][y]=1; val[x+1][y]=val[x][y]+1; if (val[x+1][y]>maxdrum) maxdrum=val[x+1][y]; } if (drum[x][y+1]!='&' && !viz[x][y+1] && y+1maxdrum) maxdrum=val[x][y+1]; } ic++; } return maxdrum; } int main() { scanf("%d %d",&n,&m); for (i=1;i<=n;i++) scanf("%s",drum[i]); printf("%d",coadax()); return 0; }