#include using namespace std; #define REP(i,n) for(int i=0;i ostream& operator<<(ostream& os,const vector& vec){ os << "["; for(const auto& v : vec){ os << v << ","; } os << "]"; return os; } typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef vector vi; typedef vector vvi; const int dx[8]={0,-1,-1,-1,0,1,1,1}; const int dy[8]={1,1,0,-1,-1,-1,0,1}; int H,W; int main(){ cin>>H>>W; vvi s(H+2,vi(W+2,0)); vvi d(H+2,vi(W+2,INF)); for(int i=1;i<=H;i++){ string ss;cin>>ss; for(int j=0;j que; for(int i=0;i=H+2 or ny>=W+2) continue; int nd=d[nx][ny]; if(nd > di + 1){ d[nx][ny] = di+1; que.push(pii(nx,ny)); } } } int ans = 0; for(int i=0;i