#XMOJ11355. 准阿巴串

准阿巴串

说明

时间限制:1 Sec 内存限制:256 MB 输入文件aba.in 输出文件aba.out

小明很喜欢“阿巴”这个词的发音,所以当佳佳给了他一个全部由小写字母 ab 组成的字符串 $s$ 时,他忍不住要从中寻找发音为“阿巴”和“巴”的子串。

他把只包含 ab ,且任意相邻两个字母都不同的字符串叫做“阿巴串”。

但是佳佳想增加一点点难度。她给小明的字符串里除了 ab 之外,还有可能包含问号 ?。每一个问号 ? 都可以替换为 ab

在小明看来,如果一个字符串只包含 ab?,并且把每个 ? 独立地替换为 ab,使得整个字符串变为阿巴串,那这个字符串就是“准阿巴串”。

例如,字符串 a??baa??? 是准阿巴串,而 aa?b??b 不是。

请计算字符串 $s$ 中,有多个子串是准阿巴串。

注:从字符串 $s$ 的开头向后和结尾向前任意挑选连续的 $0$ 个或多个字符并删除后,留下的部分叫做 $s$ 的子串。

输入格式

第一行为一个整数 $t$,表示有 $t$ 组询问;

接下来有 $t$ 行,第 $i$ 行为第 $i$ 组询问,为一个仅包含 ab? 的字符串 $s$。

输出格式

$t$ 行,第 $i$ 行为对第 $i$ 组询问的回答,为一个整数,表示输入的字符串中有多少个子串是准阿巴串。

样例

样例 1

3
a?ba
???
?ba??bbaa

8
6
25

样例说明:

在第 11 组询问中,单个字符都是准阿巴串,这样就有 44 个,然后 a??bba?ba 都是准阿巴串,共 88 个。

在第 $2$ 组询问中,长度为 $1$、$2$、$3$ 的所有子串都是准阿巴串,共 $6$ 个。

数据范围

$1 \le t \le 10^4$

令 $|s|$ 表示字符串 $s$ 的长度,有 $1 \le |s| \le 2 \times 10^5$

题目保证所有询问中的 $s$ 之和不超过 $2 \times 10^5$