#include<iostream>
#include<algorithm>

using namespace std;

int map[1000][1000];
int n;
int ans;
int move_flag;

void serch(int x,int y,int h)
{
	for(int i=0;y+i<n && map[x][y+i]==1;i++)
	{
		h=i+1;
	}
	
	for(int i=0;i<h;i++)
	{
		if(x+i==n)
		{
			h=i;
			break;
		}
		for(int j=0;j<h;j++)
		{
			if(y+j==n)
			{
				h=j;
				break;
			}
			if(map[x+i][y]==0)
			{
				h=i;
				break;
			}
			if(map[x+i][y+j]==0)
			{
				h=j;
				break;
			}
		}
	}
	
	ans=max(ans,h);
	
/*
	map[x][y]=2;
	getchar();
	
	system("cls");
	
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
		{
			cout << map[i][j] << " " ;
		}
		cout << endl;
	}
	
	cout << "ans:" << ans << endl;
	cout << "h:" << h << endl;
	map[x][y]=1;
//*/
	return ;
}
int main()
{
	int i,j;
	
	for(;;)
	{
		cin >> n;
		if(n==0)
			break;
		
		ans=0;
		
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				char a;
				cin >> a ;
				if(a=='.')
					map[i][j]=1;
				else
					map[i][j]=0;
			}
		}
		
		for(i=0;i<n;i++)
		{
			for(j=0;j<n;j++)
			{
				if(map[i][j]==1)
				{
					move_flag=1;
					serch(i,j,1);
				}
			}
		}
		
		cout << ans << endl;
	}
}