#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;

char cmaps[1028][1028];
int maps[1028][1028];

int main(){
  int n;
  int ans;
  while(true){
    cin >> n;
    if(!n){
      break;
    }
    
    ans = 1;
    for(int i = 0; i < n; i++){
      for(int j = 0; j < n; j++){
	cin >> cmaps[i][j];
	if(cmaps[i][j] == '.'){
	  maps[i][j] = 1;
	}
	else{
	  maps[i][j] = 0;
	}
      }
    }

    for(int i = 1; i < n; i++){
      for(int j = 1; j < n; j++){
	if(maps[i][j] && maps[i - 1][j - 1] && maps[i- 1][j] && maps[i][j - 1]){
	  int temp;
	  temp = min(maps[i][j - 1], maps[i - 1][j]);
	  maps[i][j] += min(temp, maps[i - 1][j - 1]);
	  ans = max(maps[i][j] , ans);
	}
      }
    }
    cout << ans << endl;
  }
  return 0;

}
      