#CF2072B. B. 曾为财务官,今助地精欺
B. 曾为财务官,今助地精欺
B. 曾为财务官,今助地精欺
每个测试的时间限制: 秒
每个测试的内存限制: MB
完成第一个任务后,秋人离开了起始洞穴。不久,他 stumbled upon 一个地精村庄。
由于秋人没有地方住,他想知道房价。众所周知,地精用字符 '-' 和 '_' 组成的字符串来书写数字,而字符串 所代表的值等于 中等于 "-_-" 的不同子序列 的个数。
例如,字符串 s = \texttt{"-_--_-"} 表示的数值是 ,因为它有 个子序列 "-_-":
最初,地精们写了一个随机的字符串 作为对秋人问题的回答,但后来他们意识到想从这位旅行者身上尽可能多地骗取金子。为此,他们要求你重新排列字符串 中的字符,使得字符串 所代表的数值最大化。
字符串 的子序列是指可以通过删除 中若干个(可能为 )字符得到的字符串 。如果通过删除不同的下标集合得到,则子序列被视为不同。
输入格式
第一行包含一个整数 ()—— 测试用例的数量。
每个测试用例的第一行包含一个整数 ()—— 地精写的字符串的长度。
每个测试用例的第二行包含一个长度为 的字符串 ,仅由字符 '-' 和 '_' 组成。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一个整数 —— 在最优重新排列字符后,字符串中等于 "-_-" 的子序列的最大可能个数。
示例
输入
8
3
--_
5
__-__
9
--__-_---
4
_--_
10
_-_-_-_-_-
7
_------
1
-
2
_-
输出
1
0
27
2
30
9
0
0
说明
- 在第一个测试用例中,最好将字符重新排列成
"-_-"。这是唯一一个至少有一个"-_-"子序列的长度为 的字符串。 - 在第二个测试用例中,只有一个字符
'-',而子序列"-_-"至少需要两个'-'。因此,无论怎样重新排列字符,答案都是 。 - 在第七个和第八个测试用例中,字符串长度 ,因此不存在长度为 的子序列。