#include <bits/stdc++.h>
#include <algorithm>
 using namespace std;
typedef pair<int,int>P;
const int INF=100000000;
 char S[22][22]
  int H,W;

int d[22][22];
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
int bfs(int sx,int sy,int gx,int gy){
queue<P>que;
  for(int i=0;i<H;i++)
    for(int j=0;j<W;j++)d[i][j]=INF;
  que.push(P(sx,sy));
  d[sx][sy]=0;
  while(que.size()){
  P p=que.front();que().pop();
    if(p.first==gx && p.second == gy)break;
    for(int int i=0;i<4;i++){
      int nx=p.first+dx[i],ny=p.second+sy[i];
      if(0<=nx && nx<H&& 0<=ny&&ny<W&&S[nx][ny]!='#'&&d[nx][ny]==INF){
        que.push(P(ne,ny));
        d[nx][ny]=d[p.first][p.second]+1:
      }
    }
  }
  return d[gx][gy];
}
  

int main(){

  cin>>H>>W;
 
  for(int i=0;i<H;i++){
    for(int j=0;j<W;j++){
      cin>>S[i][j];
    }
  }
  