AT_past18_h Cを探せ!

Description

グリッド(マス目)上に書かれた以下のような図形を **C** と呼びます。 ``` ### #### ##### #.. #... #.... ### #... #.... #### #.... ##### ``` 上図にあるのは、左からレベル $ 1,2,3 $ の **C** です。 厳密には、正整数 $ l $ に対し、レベル $ l $ の **C** を以下のように定義します。 - レベル $ l $ の **C** は、 $ (l+2) \times (l+2) $ の正方形状のグリッドである。 - 正方形のうち、上・左・下の境界に接するマスには `#` が書かれている。 - それ以外のマスには `.` が書かれている。 $ N \times N $ のグリッドが与えられ、各マスには `#` か `.` が書かれています。 グリッドは $ N $ 個の文字列 $ S_1,S_2,\dots,S_N $ として与えられ、 $ S_i $ の $ j $ 文字目が上から $ i $ 行目、左から $ j $ 列目のマスに書かれた文字を表します。 このグリッドから (連結な) 正方形を抜き出して得られる最もレベルの高い **C** のレベルを答えてください。 但し、グリッドからどのような正方形を抜き出してもそれが **C** とならない場合、 $ 0 $ と答えてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_N $

Output Format

答えを整数として出力せよ。

Explanation/Hint

### Sample Explanation 1 グリッドのうち上から $ 1 $ 行目から $ 3 $ 行目、左から $ 2 $ 列目から $ 4 $ 列目の正方形を抜き出すと、これはレベル $ 1 $ の **C** です。 このグリッドから、レベル $ 2 $ 以上の **C** を抜き出すことはできません。 ### Sample Explanation 2 このグリッドから **C** を抜き出すことはできません。 ### Constraints - $ N $ は $ 3 $ 以上 $ 300 $ 以下の整数 - $ S_i $ は長さ $ N $ の `#` と `.` からなる文字列