#include using namespace std; struct matrice { int lin; int col; }; int a[180][180]; int main() { matrice coada[100*100+2]; int S=0,i,j,ic=1,sf=1,dirl[4]={1,0},dirc[4]={0,1},lp,cp,linie,coloana,n,m; char x; cin>>n; cin>>m; for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { cin>>x; if(x=='.') a[i][j]=0; else a[i][j]=-1; } } lp=1; cp=1; for(i=0;i<=n+1;i++) { a[i][n+1]=-1; a[i][0]=-1; a[0][i]=-1; a[n+1][i]=-1; } coada[1].lin=lp; coada[1].col=cp; a[lp][cp]=1; while(ic<=sf) { for(int i=0;i<=1;i++) { linie=dirl[i]+coada[ic].lin; coloana=dirc[i]+coada[ic].col; if(a[linie][coloana]==0) { sf++; coada[sf].lin=linie; coada[sf].col=coloana; a[linie][coloana]=a[coada[ic].lin][coada[ic].col]+1; if(a[linie][coloana]>S) S=a[linie][coloana]; } } ic++; } cout<