编程题
### 问题描述
大衣有一个长度为 $N$ 的字符串 $S$,包含字符 $+,-,0$,其中 $+$ 表示一个带正电的物体,$-$ 表示一个带负电的物体,$0$ 表示一个中性物体。
每一秒,带电物体会影响与之相邻的中性物体,但不会影响其他带电物体:
- 如果一个物体最初是中性的,并且只有一个相邻的带电物体,那么它会变成和相邻物体带同种电荷的带电体。
- 如果一个物体最初是中性的,并且没有相邻的带电物体,那么它会保持中性。
- 如果一个物体最初是中性的,并且有两个相邻的带电物体,如果两个相邻的带电体带同种电荷,那么它会变成和相邻物体带同种电荷的带电体,否则它会保持中性。
请找出无限时间后字符串内中性物体的数量。
### 输入格式
第一行输入一个正整数 $T$ 表示测试数据的组数。
接下来 $T$ 组测试数据每组输入两行:
- 第一行输入一个正整数 $N$ 表示字符串 $S$ 的长度。
- 第二行输入一个长度为 $N$ 的字符串 $S$。
### 输出格式
对于每组测试数据,输出无限时间后字符串内中性物体的数量,并换行。
### 样例输入
```text
4
2
00
3
-+0
6
00+-00
8
0-0+000-
```
### 样例输出
```text
2
0
0
2
```
### 说明
样例 $1$:因为没有带电物体,所以所有物体仍保持中性,有 $2$ 个中性物体。
样例 $2$:$1$ 秒后,字符串 $S$ 变成 `-++`,并且之后不会再发生变化,有 $0$ 个中性物体。
样例 $3$:
- $1$ 秒后,字符串 $S$ 变成 `0++--0`。
- $2$ 秒后,字符串 $S$ 变成 `+++---`。
在这之后字符串 $S$ 不会再发生变化,有 $0$ 个中性物体。
样例 $4$:$1$ 秒后,字符串 $S$ 变成 `--0++0--`,并且之后不会再发生变化,有 $2$ 个中性物体。
### 评测数据规模
对于所有的评测数据,$1\le T\le 20$,$1\le N\le 10^4$,字符串 $S$ 仅包含字符 $+,-,0$。