#include<iostream>
#include<string>
using namespace std;

int main()
{
    int N;
    string str;

    while(cin >> N , N)
    {
        int biggest = 0;
        int zeroCount = 0;
        int **MAP;
        MAP = new int*[N];
        for(int i=0; i<N; i++) MAP[i] = new int[N];

        for(int i=0; i<N; i++){
            cin >> str;
            for(int j=0; j<N; j++){
                if(str[j] == '.'){
                    MAP[i][j] = 0;
                    zeroCount++;
                }
                if(str[j] == '*'){
                    MAP[i][j] = 1;
                }
            }
        }

        for(int i=1; i<N+1; i++){
            if(i*i > zeroCount)break;
            for(int j=0; j+i<N+1; j++){
                for(int k=0; k+i<N+1; k++){
                    for(int l=0; l<i; l++){
                        for(int m=0; m<i; m++){
                            if(MAP[j+l][k+m] == 1){
                                goto escape;
                            }
                        }
                        if(l == i-1 && biggest < i){
                            biggest = i;
                            break;
                        }
                    }
                    escape:;
                }
            }
        }

        cout << biggest << endl;
    }

    return 0;
}