D. 最大硬币数量

内存限制:256 MiB 时间限制:1000 ms 输入文件: coin.in 输出文件: coin.out
题目类型:传统 评测方式:文本比较

题目描述

在你穿越计算机宇宙的旅途中,你偶然发现了一个非常有趣的世界。这是一条有 n 个连续单元的路径,每个单元可以是空的、含有荆棘或者是一个硬币。

在一次移动中,你可以沿着路径移动一到两个单元,前提是目标单元不含有荆棘(并且属于路径)。如果你移动到含有硬币的单元,你就可以捡起它。

这里,绿色箭头代表合法移动,红色箭头代表非法移动。

你想要在这个发现的世界中收集尽可能多的硬币。如果你从路径的最左边单元开始,找出你能够收集的最大硬币数量。

输入格式

输入的第一行包含一个整数 t(1 <= t <=1000) — 测试用例的数量。然后是测试用例的描述。

每个测试用例的第一行包含一个整数 n(1 <= n <= 50) — 路径的长度。

每个测试用例的第二行包含一个长度为n的字符串,描述了路径。字符'.'代表一个空单元,'@'代表一个含有硬币的单元,'*'代表一个含有荆棘的单元。

保证第一个单元是空的。

输出格式

对于每个测试用例,输出一个整数,表示你能够收集的最大硬币数量。

样例

示例 1

输入

3
10
.@@*@.**@@
5
.@@@@
15
.@@..@***..@@@*

输出

3
4
3

解释:
第一个示例的图片已经在问题描述中了。

这是第二个示例的图片:

这是第三个示例的图片: