#include using namespace std; const int x1[2]={1,0}; const int y1[2]={0,1,}; int a[100][100],i,j,n,m,x0,y0,inceput=1,sfarsit=1,maxim; char t[100][100]; struct punct { int ls,ld,poz; }; punct c[100],x,y; int main() { cout<<"n=";cin>>n; cout<<"m=";cin>>m; for(i=1;i<=n;i++) for(j=1;j<=m;j++) {cin>>t[i][j]; if(t[i][j]=='.') a[i][j]=0; else a[i][j]=1; } for(i=0;i<=n+1;i++) a[i][0]=a[i][m+1]=1; for(i=0;i<=m+1;i++) a[0][i]=a[n+1][i]=1; c[inceput].ls=1; c[inceput].ld=1; a[1][1]=1; c[inceput].poz=1; while(inceput<=sfarsit) { x=c[inceput]; inceput++; for(int k=0;k<2;k++) { if(a[x.ls+x1[k]][x.ld+y1[k]]==0) { y.ls=x.ls+x1[k]; y.ld=x.ld+y1[k]; y.poz=x.poz+1; a[y.ls][y.ld]=y.poz; sfarsit++; c[sfarsit]=y; } } } for(i=1;i<=n;i++) { for(j=1;j<=m;j++) if(a[i][j]>maxim) maxim=a[i][j]; } cout<