#include #include #include #include #include using namespace std; string C[30]; int W, H; int a[30][30], b[30][30]; int dr[]={-1, 0, 1, 0}, dc[]={0, -1, 0, 1}; int dfs(int r, int c, int k) { a[r][c]=k; for(int i=0;i<4;++i) { int nr=r+dr[i], nc=c+dc[i]; if (nr<0 or nr>=H or nc<0 or nc>=W) continue; if (C[nr][nc]=='#' or a[nr][nc]) continue; dfs(nr, nc, k); } } int main() { while (cin>>W>>H) { for(int i=0;i>C[i]; memset(a, 0, sizeof(a)); int k=0; for(int i=0;i> q; for(int i=0;i=H or nc<0 or nc>=W) continue; if (b[nr][nc]>=0 or a[nr][nc]==1) continue; q.emplace(nr, nc); b[nr][nc]=b[r][c]+1; } } cout<