#include<iostream>
using namespace std;

string table[1000];
int dp[1000][1000];

int main() {
  for(int N; cin >> N, N; ) {
    for(int i = 0; i < N; i++) cin >> table[i];
    for(int i = 0; i < N; i++)
      for(int j = 0; j < N; j++)
        dp[i][j] = 0;

    for(int i = 0; i < N; i++) if( table[i][0] == '.' ) dp[i][0] = 1;
    for(int j = 0; j < N; j++) if( table[0][j] == '.' ) dp[0][j] = 1;

    for(int i = 1; i < N; i++)
      for(int j = 1; j < N; j++)
        if( table[i][j] == '.' && table[i - 1][j] == '.' && table[i][j - 1] == '.')
          dp[i][j] = 1 + min( dp[i-1][j-1], min( dp[i][j-1], dp[i-1][j] ));
        else if( table[i][j] == '.' )
          dp[i][j] = 1;
        else
          dp[i][j] = 0;

    int best = 0;
    for(int i = 0; i < N; i++)
      for(int j = 0; j < N; j++)
        if( best < dp[i][j] )
          best = dp[i][j];
    cout << best << endl;

  }
}