在你穿越计算机宇宙的旅途中,你偶然发现了一个非常有趣的世界。这是一条有 n 个连续单元的路径,每个单元可以是空的、含有荆棘或者是一个硬币。
在一次移动中,你可以沿着路径移动一到两个单元,前提是目标单元不含有荆棘(并且属于路径)。如果你移动到含有硬币的单元,你就可以捡起它。
这里,绿色箭头代表合法移动,红色箭头代表非法移动。
你想要在这个发现的世界中收集尽可能多的硬币。如果你从路径的最左边单元开始,找出你能够收集的最大硬币数量。
输入的第一行包含一个整数 t(1 <= t <=1000) ( ) — 测试用例的数量。然后是测试用例的描述。
每个测试用例的第一行包含一个整数 n(1 <= n <= 50) ( ) — 路径的长度。
每个测试用例的第二行包含一个长度为n的字符串,描述了路径。字符'.'代表一个空单元,'@'代表一个含有硬币的单元,'*'代表一个含有荆棘的单元。
保证第一个单元是空的。
对于每个测试用例,输出一个整数,表示你能够收集的最大硬币数量。
输入
3 10 .@@*@.**@@ 5 .@@@@ 15 .@@..@***..@@@*
输出
3 4 3
解释: 第一个示例的图片已经在问题描述中了。
这是第二个示例的图片:
这是第三个示例的图片: