#arc040c. [arc040_c]Z塗り

[arc040_c]Z塗り

问题文

小高桥喜欢涂鸦地板。地板由 N×NN \times N 的网格组成,一些格子已经被涂鸦。我们将第 ii 行第 jj 列的格子称为格子 (i,j)(i,j)。小高桥打算使用特殊墨水喷射装置来涂鸦地板。使用该装置时,按下按钮并输入任意整数 r,cr, c,可以涂鸦满足条件「i=ri = rjcj ≤ c」或「i=r+1i = r+1jcj ≥ c」的所有格子 (i,j)(i,j)

小高桥想要用这个装置涂鸦所有的格子。请问,最少需要使用装置的次数是多少?


输入

输入以标准输入的形式给出。

NN S1S_1 S2S_2 : SNS_N

  • 11 行是一个整数 N(1N100)N (1 ≤ N ≤ 100),表示网格的边长。
  • 接下来的 NN 行表示网格的情况。其中第 ii 行是一个长度为 NN 的字符串 SiS_i,描述了第 ii 行网格的情况。其中第 jj 个字符描述了格子 (i,j)(i,j) 的情况:
    • 如果是 .:表示该格子未被涂鸦。
    • 如果是 o:表示该格子已经被涂鸦。

输出

输出最少使用装置的次数,以一行输出。末尾换行。


输入示例1


7
...oooo
oo.....
ooooooo
ooooooo
.....oo
oooo...
ooooooo

输出示例1


2

墨水喷射装置可以将输入案例中的格子涂鸦成所需的形式。


输入示例2


4
.oo.
..oo
o..o
oo..

输出示例2


3

输入示例3


1
o

输出示例3


0

所有格子最初就被涂鸦。