Problem Statement
This year's AtCoder mayoral election has two candidates, A and B, and $N$ voters have cast their votes. The voters are assigned numbers from $1$ to $N$, and voter $i$ $(1 \leq i \leq N)$ voted for candidate $c_i$.
Now, the votes will be counted. As each vote is counted, the provisional result will be announced as one of the following three outcomes:
- Result A: Currently, candidate A has more votes.
- Result B: Currently, candidate B has more votes.
- Result C: Currently, candidates A and B have the same number of votes.
There is a rule regarding the order of vote counting: votes from all voters except voter $1$ must be counted in ascending order of their voter numbers. (The vote from voter $1$ may be counted at any time.)
How many different sequences of provisional results could be announced?
What is a sequence of provisional results?Let $s_i$ be the result (A, B, or C) reported when the $i$-th vote $(1 \leq i \leq N)$ is counted. The sequence of provisional results refers to the string $s_1 s_2 \dots s_N$.
Constraints
$N$is an integer such that$2 \leq N \leq 1000000$.- Each of
$c_1, c_2, \dots, c_N$isAorB.
Input
The input is given from Standard Input in the following format:
N
c_1 c_2 \cdots c_N
Output
Print the answer.
样例
4
AABB
3
4
AAAA
1
10
BBBAAABBAA
5
172
AABAAAAAABBABAABBBBAABBAAABBABBABABABBAAABAAABAABAABBBBABBBABBABBBBBBBBAAABAAABAAABABBBAABAAAABABBABBABBBBBABAABAABBBABABBAAAABAABABBBABAAAABBBBABBBABBBABAABBBAAAABAAABAAAB
24
题面与样例版权归 AtCoder 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。