欧内斯特·文森特·赖特(Ernest Vincent Wright)是一位美国作家,以在不使用字母 “e” 的情况下撰写小说(《葛茨比》,Gadsby)而闻名。Victor 是欧内斯特的忠实粉丝,并试图在写小说时模仿他,但他想寻找一个真正的挑战。他只使用字母表中的前十个字符(即 abcdefghij)。具有讽刺意味的是,在他写到一半时,电脑上的 “e” 键坏了。为了保持一致性,他决定删除所有已经写好的 “e”。他的一个程序员朋友建议他使用文本编辑器 Vim 来完成这项任务。不幸的是,Victor 对 Vim 并不熟悉,只知道三种不同的命令:“x”、“h” 和 “f”。
- “x”:删除光标处的字符。光标位置(从左往右数)保持不变。如果光标位于文档的最后一个字符,Victor 不能使用此命令。
- “h”:将光标向后(向左)移动一步。如果光标位于文档的开头,则什么也不会发生。
- “f”:等待用户输入另一个字符 $C$,然后将光标向前移动到下一个字符 $C$ 出现的位置(即使光标处的字符恰好是 $C$ 也是如此)。如果光标位置右侧没有任何地方出现 $C$,则什么也不会发生。
例如,如果当前文本为 jeff[i]ehadabigidea(其中光标用方框 [] 表示),那么:
- “x” 将得到
jeff[e]hadabigidea - “h” 将得到
jef[f]iehadabigidea - “fi” 将得到
jeffiehadab[i]gidea
编写一个程序,计算 Victor 删除文档中所有 “e” 且不删除其他任何字母所需的最少按键次数。最初,光标位于文档的第一个字符处。请注意,“e” 键已损坏,因此不能使用命令 “fe”。
输入格式
第一行包含一个整数 $N$,表示文档的长度。
第二行包含 $N$ 个字符,每个字符都是从 “a” 到 “j” 的十个小写字母之一。输入的首字符和尾字符均不为 “e”。
输出格式
输出唯一的一行,包含一个整数:Victor 删除所有 “e” 所需的最少按键次数。
数据范围
- $N \le 70\,000$
- 对于占 50 分的测试用例:$N \le 500$
- 对于额外占 10 分的测试用例:$N \le 5\,000$
样例
输入样例 1
35 chefeddiefedjeffeachbigagedegghehad
输出样例 1
36
说明
样例测试点的一个最优解为:
fdhxhhxffhxfahxhhhxhhhxfdhxfghxfahhx
您可以通过自己启动 Vim 编辑器来对此进行测试(在命令行提示符下输入 vim file.txt 以打开 file.txt,输入 :q<ENTER> 退出)。