#31326. T1 小 Z 的姓名手串(name)

T1 小 Z 的姓名手串(name)

小 Z 的姓名手串(name)

【题目描述】

最近又开始流行串姓名手串了,店家会把刻有单个字或者字母的小珠子摆在篮子里,然后大家可以找自己的名字或者自己想要的珠子,最后把珠子串起来组成一条手串。

小 Z 今天心血来潮,决定也来玩一玩,但是由于中文珠子不好找,于是他决定使用 zls 三个字母。现在小 Z 一共从篮子里找出 nn 颗刻有 z、l、s 三个字母之一的珠子,并且摆成了一排,从左到右第 ii 颗珠子上的字母记为 aia_i。

小 Z 准备从中拿出一些珠子组成他的名字 zls,但是由于珠子比较多,所以小 Z 懒得将它们重新排序了,他只会用排列顺序依次为 z、l、s 的三颗珠子来组成一个手串。

形式化地描述为:能够组成手串的三颗珠子编号为 \(i,j,k\),那么必须要满足 \(i<j<k\),并且 ai=za_i=\texttt z,aj=la_j=\texttt l,ak=sa_k=\texttt s。每颗珠子最多只能用在一个手串中。

例如 zzllssslz\texttt{\(\texttt{zzllssslz}\)},小 Z 可以取出第 1,3,5 颗珠子组成一个手串,用第 2,4,6 颗珠子组成另一个手串,而剩下的第 7,8,9 颗珠子为 slz,没办法组成一个手串。

【输入格式】

从 name.in 文件读入数据。

输入一行一个长度为 nn 的字符串,仅由小写字母 z、l、s 组成,依次表示小 Z 已经排好的 nn 颗珠子。

【输出格式】

输出到 name.out 文件。

输出一行一个整数,表示小 Z 最多能组成多少个手串。

【样例 1 输入】

\(\texttt{zzllssslz}\)

【样例 1 输出】

2

【样例 2】

见选手目录下的 name/name2.in 与 name/name2.out。 此样例满足 n≤1000n \le 1000。

【样例 3】

见选手目录下的 name/name3.in 与 name/name3.out。 此样例满足 n≤105n \le 10^5。

【数据范围】

测试点编号 nn
1∼41 \sim 4 1≤n≤101 \le n \le 10
5∼85 \sim 8 1≤n≤10001 \le n \le 1000
9∼109 \sim 10 1≤n≤1051 \le n \le 10^5