#include #include using namespace std; struct point { int x,y; }; point a; char A[100][100]; int maxx=0; int n,m; int ii; bool ok(int k,point a) { if (a.x>=n || a.y>=m) return false; if (A[a.x][a.y]!='.') return false; if (k>maxx) maxx=k; return true; } void back(int k,point a) { for (ii=0;ii<2;++ii) { if (ii==0) a.x++; else a.y++; if (ok(k,a)) back(k+1,a); else if (ii==0) a.x--; else a.y--; } } int main() { a.x=0; a.y=0; cin>>n>>m; for (ii=0;ii>A[ii]; } if (A[0][0]=='&') cout<<1; else { back(1,a); cout<