B3891 [语言月赛 202311] 基因

题目描述

有一个长度为 $n$ 的字符串 $S$。其只包含有大写字母。 小 A 将 $S$ 进行翻转后,得到另一个字符串 $S'$。两个字符串 $S$ 与 $S'$ 对应配对。例如说,对于 $S=\tt{ATCGT}$,则有 $S'=\tt{TGCTA}$,$S$ 与 $S'$ 进行配对。 对于两个字符串 $S,S'$ 的第 $i$($1 \leq i \leq n$)个字母,配对规则如下: - 定义 $\tt A$ 与 $\tt T$,$\tt C$ 与 $\tt G$ 为可以配对的字母。 - 如果 $S_i$ 与 $S_i'$ 为可以配对的字母,那么该字符串的稳定性增加 $i$。 - 如果 $S_i$ 或者 $S_i'$ 中任意一方出现非 $\tt A,\tt T,\tt C,\tt G$ 的字母,则整个字符串的稳定性将直接为 $0$。 现在给定 $T$ 个字符串 $S$,对每一个字符串,询问若用其翻转再进行配对,其稳定性将如何。

输入格式

第一行输入一个正整数 $T$,表示给定多少个字符串。对于每一个字符串: - 第一行输入一个正整数 $n$,表示字符串的长度; - 第二行输入一个字符串 $S$,表示该字符串。

输出格式

对于每个字符串,输出一行一个整数,表示若用其翻转再进行配对,其稳定性将如何。

说明/提示

**【样例解释】** - 对于第一个字符串,$S=\tt{\red{A}TCG\blue{T}}$,$S'=\tt{\red{T}GCT\blue{A}}$。标红色的一组与蓝色的一组为可以配对的字母。它们分别是 $S$ 的第 $1$ 个字母和第 $5$ 个字母,因此稳定性是 $1+5=6$。 - 对于第二个字符串,$S=\tt{\red{A}\blue{C}\red{A}\blue{T}\red{G}\blue{T}}$,$S'=\tt{\red{T}\blue{G}\red{T}\blue{A}\red{C}\blue{A}}$,每个对应位置上的字母都可以配对,因此稳定性是 $1+2+3+\dots+6=21$ - 对于第三条字符串,出现了非 $\tt A,\tt T,\tt C,\tt G$ 的字母 $\tt U$,因此稳定性为 $0$。 **【数据范围】** 对于所有数据,保证:$1\leq T\leq 5$,$1\leq n\leq 10^5$,$S$ 中出现的所有字母保证为大写英语字母。