#include <iostream> #define MAXN 105 using namespace std; int n,m,mx; char s[MAXN][MAXN]; bool uz[MAXN][MAXN]; void DFS(int p,int q); int main() { int i,j; cin>>n>>m; cin.getline(s[0],MAXN,'\n'); for(i=1;i<=n;i++) cin.getline(s[i]+1,MAXN,'\n'); if(s[1][1]=='&'){ cout<<"0\n"; return 0;} DFS(1,1); for(i=1;i<=n;i++) for(j=1;j<=m;j++) if(uz[i][j]&&(i+j-1>mx)) mx=i+j-1; cout<<mx<<'\n'; return 0; } void DFS(int p,int q){ uz[p][q]=1; if(!uz[p+1][q]&&s[p+1][q]=='.') DFS(p+1,q); if(!uz[p][q+1]&&s[p][q+1]=='.') DFS(p,q+1);}