#CF1900A. 覆盖水域

覆盖水域

A. 覆盖水域
每个测试点时间限制:11
内存限制:256256 兆字节

菲利普有一排单元格,其中一些被阻塞,一些是空的。他希望所有空单元格中都充满水。他有两种操作:

  • 1、在空单元格中放置水。
  • 2、从一个单元格中取出水,并将其放入任意其他空单元格。

如果在某一时刻,单元格 ii2in12 \le i \le n-1)是空的,并且它的两侧单元格 i1i-1i+1i+1 中都含有水,那么该单元格会自动充满水。

为了将所有空单元格都填满水,求他需要执行操作 11 的最小次数。

注意:你不需要最小化操作 22 的使用次数。注意:阻塞的单元格既不能含水,菲利普也不能在其中放置水。


输入
每个测试点包含多个测试用例。第一行包含一个整数 tt1t1001 \le t \le 100)——测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n1001 \le n \le 100)——单元格的数量。

下一行包含一个长度为 nn 的字符串 ss。如果第 ii 个字符是 '.',则表示单元格 ii 是空的;如果是 '#',则表示单元格 ii 被阻塞。


输出
对于每个测试用例,输出一个整数——填满所有空单元格所需的最小操作 11 次数。


示例
输入

5
3
...
7
##....#
7
..#.#..
4
####
10
#...#..#.#

输出

2
2
5
0
2

注释

测试用例 11
在第一个测试用例中,菲利普可以在单元格 1133 中放置水。由于单元格 22 位于两个含水的单元格之间,它也会自动充满水。

测试用例 22
在第二个测试用例中,他可以在单元格 3355 中放置水。这样单元格 44 会自动充满水。然后他从单元格 55 中取出水,放入单元格 66。由于单元格 55 的邻居(单元格 4466)都有水,单元格 55 也会自动充满水。下图展示了这个过程。

第二个测试用例的操作示意图。白色单元格是空的,灰色的是阻塞的,蓝色的是有水。

测试用例 33
在第三个测试用例中,他可以在所有空单元格中放置水。这需要 55 次操作 11

测试用例 44
在第四个测试用例中,没有空单元格。因此他不需要放置任何水。

测试用例 55
在第五个测试用例中,存在一种操作序列,只需要 22 次操作 11