#include<bits/stdc++.h>
using namespace std;
int n,m;
char s[105][105];
int rex[105][105];
int check(int x,int y,int i){
	if(s[x][y]=='#'){
		rex[x][y]=0;
		return 0;
	}
	else if(rex[x][y]!=10000007){
		return rex[x][y];
	}
	else{
		if(i!=1 && x>0){
			rex[x][y]=min(rex[x][y],1+check(x-1,y,3));
		}
		if(i!=2 && y<m-1){
			rex[x][y]=min(rex[x][y],1+check(x,y+1,4));
		}
		if(i!=3 && x<n-1){
			rex[x][y]=min(rex[x][y],1+check(x+1,y,1));
		}
		if(i!=4 && y>0){
			rex[x][y]=min(rex[x][y],1+check(x,y-1,2));
		}
	}
}
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin>>s[i][j];
			rex[i][j]=10000007;
		}
	}
	check(0,1,4);
	check(1,0,1);
	int maks=0;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			maks=max(maks,rex[i][j]);
		}
	}
	cout<<maks<<endl;
}