#1431. [L1-8] 川川串串

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: bosun

题目描述

川川最喜欢数串串了!很多人都说她有这个怪癖。不过,在她参加完 CCCC-GPLT 比赛后,穿越到了另一个世界,进行了一场奇妙的旅途。

在那个世界里,字符串仅由 'a\text a' , 'c\text c' , 'm\text m' 三种字符构成,我们称之为 “串串”。

假如说有一个串串 SS,长度为 nn,满足:1n1061 \leq n \leq 10^6。若串串 SS 被称为 “川串”,当且仅当:

1.“串串” SS 中必须含有 'c\text c';

2.对于任意 Si=cS_i = \text c,满足 j=1i[Sj=m]=0\sum_{j=1}^i [S_j=\text{m}] = 0 并且 j=i+1n[Sj=a]=0 \sum_{j=i+1}^n [S_j=\text{a}] = 0

即:对于含有 c\text c 的 “串串” SS 中的每一个 'c\text c',它的前面没有 'm\text m',它的后面没有 'a\text a'。

川川想知道,在一个 “串串” SS 的子串中,有多少个 “川串”。

子串:字符串中任意个连续的字符组成的子序列称为该串的子串,例如 aa\text{aa} 的子串有:aa\text{aa}a\text aa\text a\varnothing(空串)。

输入格式

第一行输入一个正整数 nn,表示 “串串” 的长度。

第二行输入一个长度为 nn 的 “串串”,它仅由 'a\text a' , 'c\text c' , 'm\text m' 三种字符构成。

输出格式

一行,一个正整数,表示 “川串” 的个数。

样例

样例输入:

6
acccmm

样例输出:

17


样例解释:

该 “串串” 中,有以下子串为 “川串”:

ac\text{ac}acc\text{acc}accc\text{accc}acccm\text{acccm}acccmm\text{acccmm}

c\text ccc\text{cc}ccc\text{ccc}cccm\text{cccm}cccmm\text{cccmm}

c\text ccc\text{cc}ccm\text{ccm}ccmm\text{ccmm}

c\text ccm\text{cm}cmm\text{cmm}

共有 1717 个 “川串”。

数据范围与提示

对于 20%20\% 的数据,满足: 1n201 \leq n \leq 20

对于另外 30%30\% 的数据,满足: 1n1001 \leq n \leq 100

对于另外 20%20\% 的数据,满足:1n50001 \leq n \leq 5000

对于所有数据,满足: 1n1061 \leq n \leq 10^6SS 仅由 'a\text a' , 'c\text c' , 'm\text m' 三种字符构成。