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 $ の `#` と `.` からなる文字列