#SF8. DARLING in the FRANXX

DARLING in the FRANXX

DARLING in the FRANXX

没学过前缀和的可以先去学一下前缀和再写这题

“呐,darling,让我们快点结束这场战斗吧”02如此说道。

9102年10月10日,13号城市遭到了前所未有的危机,由于过度开采岩浆能源,

13号城市被n只叫龙包围了,n只叫龙分别站在一特定的位置上,每只叫龙都有一个等级划分:古登堡级、康德拉级和莫霍级

由于13号城市是个圆形,所以n只叫龙围成了一个环,用a1,a2,a3,...an表示, a2和a1,a3相邻,a3和a2,a4相邻,a1和an,a2相邻,其余同理

众所周知,要度过危机必需依靠02和pc所驾驶的鹤望兰的力量,若是放在以前,鹤望兰只要绕着基地

飞一圈便可消灭所有叫龙,但是今天很不走运,02sama的心情不是很好

她想要一次性解决所有同一级别的叫龙再解决下一等级的(换句话说就是同一级的叫龙全部站在一起)

于是她对pc说:“呐,darling,你能帮我把叫龙引导成我想要的排列吗?”

pc当然义不容辞,众所周知(wo xia bian de),13部队的成员经过训练后可以引导叫龙走到特定的

位置,所以我们可以把叫龙引导成02想要的排列,但是时间紧急,我们必须在最小的时间内完成这项任务,

也就是说我们要让最少的叫龙改变位置,变成02想要的排列,可这对pc来说太难了,于是他求助于隶属于

13部队的ACMer,请你们帮他计算出最少的需要改变位置的叫龙。

用A代表古登堡级,B代表康德拉级,C代表莫霍级

举例:ACAABB就不是02想要的排列,但我们可以将它变成CAAABB就是02想要的序列了

注:被引导的叫龙只能移动到之前有叫龙站的位置,同一个位置不能站两只以上叫龙

image

输入

第一行一个n,1n1000001\leq n\leq 100000

第二行一个长度为n的字符串,代表叫龙一开始的排列

输出

一个数,代表最少需要引导的叫龙数量

样例

输入样例 1

5 
ABABC

输出样例 1

2

输入样例 2

12 
ABCABCABCABC

输出样例 2

6

输入样例 3

4
ACBA

输出样例 3

0

输入样例 4

6 
BABABA

输出样例 4

2

输入样例 5

9 
ABABCBCAC

输出样例 5

3

提示

样例一解释:我们可以把原来a2移到a3,原来的a3移到a2,是序列变成AABBC

样例四解释:我们可以把a2和a5换一下,是序列变成BBBAAA