#CF2072B. B. 曾为财务官,今助地精欺

B. 曾为财务官,今助地精欺

B. 曾为财务官,今助地精欺

每个测试的时间限制22
每个测试的内存限制256256 MB

完成第一个任务后,秋人离开了起始洞穴。不久,他 stumbled upon 一个地精村庄。

由于秋人没有地方住,他想知道房价。众所周知,地精用字符 '-''_' 组成的字符串来书写数字,而字符串 ss 所代表的值等于 ss等于 "-_-" 的不同子序列^{*} 的个数。

例如,字符串 s = \texttt{"-_--_-"} 表示的数值是 66,因为它有 66 个子序列 "-_-"

s1+s2+s3s_1+s_2+s_3
s1+s2+s4s_1+s_2+s_4
s1+s2+s6s_1+s_2+s_6
s1+s5+s6s_1+s_5+s_6
s3+s5+s6s_3+s_5+s_6
s4+s5+s6s_4+s_5+s_6

最初,地精们写了一个随机的字符串 ss 作为对秋人问题的回答,但后来他们意识到想从这位旅行者身上尽可能多地骗取金子。为此,他们要求你重新排列字符串 ss 中的字符,使得字符串 ss 所代表的数值最大化。


^{*}
字符串 aa 的子序列是指可以通过删除 aa 中若干个(可能为 00)字符得到的字符串 bb。如果通过删除不同的下标集合得到,则子序列被视为不同。


输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4)—— 测试用例的数量。

每个测试用例的第一行包含一个整数 nn1n21051 \le n \le 2 \cdot 10^5)—— 地精写的字符串的长度。

每个测试用例的第二行包含一个长度为 nn 的字符串 ss,仅由字符 '-''_' 组成。

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5


输出格式

对于每个测试用例,输出一个整数 —— 在最优重新排列字符后,字符串中等于 "-_-" 的子序列的最大可能个数。


示例

输入

8
3
--_
5
__-__
9
--__-_---
4
_--_
10
_-_-_-_-_-
7
_------
1
-
2
_-

输出

1
0
27
2
30
9
0
0

说明

  • 在第一个测试用例中,最好将字符重新排列成 "-_-"。这是唯一一个至少有一个 "-_-" 子序列的长度为 33 的字符串。
  • 在第二个测试用例中,只有一个字符 '-',而子序列 "-_-" 至少需要两个 '-'。因此,无论怎样重新排列字符,答案都是 00
  • 在第七个和第八个测试用例中,字符串长度 n<3n < 3,因此不存在长度为 33 的子序列。