R,I,O=range,input,print H,W=map(int,I().split()) S=[I()for i in R(H)] V=H*W E=[] for v in R(V): i,j,e=v//W,v%W,[] if i and S[i-1][j]>'#':e+=[[v-W,1]] if i+1'#':e+=[[v+W,1]] if j and S[i][j-1]>'#':e+=[[v-1,V]] if j+1'#':e+=[[v+1,V]] E+=[e] import heapq A=[V*V]*V A[0]=0 Q=[[0,0]] while len(Q): w,i=heapq.heappop(Q) if w>A[i]:continue for[j,v]in E[i]: if w+v