#include using namespace std; int n, m, maxim, i, j; bool viz[102][102]; char a[102][102]; int dx[]={0, 1}; int dy[]={1, 0}; void dfs(int x, int y, int p) { if(p>maxim) maxim=p; for(i=0; i<2; i++) { if(x+dx[i]<=n && x+dx[i]>=1 && y+dy[i]<=m && y+dy[i]>=1 && a[x+dx[i]][y+dy[i]]=='.' && !viz[x+dx[i]][y+dy[i]]) { viz[x+dx[i]][y+dy[i]]=1; dfs(x+dx[i], y+dy[i], p+1); viz[x+dx[i]][y+dy[i]]=0; } } } int main() { 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; return 0; } dfs(1, 1, 1); cout<