卷土重来
题号:NC200358
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

《卷土重来FEOA》(Fake end of again)是一款非常亲民的游戏。

另一位出题人的BB现场:

FEOAFEOA不需要高超的操作技术,只需要一个乱摁键位的能力就可以通关。

当然,至今没有人能打通FEOAFEOA的TBT10(the best turn 10)。

你作为一个人工智能,当然有能力打通TBT10。

《卷土重来》的操作键就只有两个,一个是向左右移动一个方块的普通移动,第二个是时空转移的技能键位。

这款游戏在一个1×n的地面上进行,这些方块有一定的型号,分别是A - Z和一个惩罚方块为" "(注意这里的一个是代表只有一种惩罚方块,而不是全游戏只有一个),这个游戏有一个任务,就是用最少的步数(按键次数)从x个方块到第y个方块。

普通移动可以在任意方块上进行,当你处在第一个方块上时不能左移,处在第n个方块上不能右移。

Example:
                    ABCA  you can go from 2B to 1A

                    ABCA  you can not go from 1A to the left
     
                    ABCA  you can not go from 4A to the right
时空穿梭可以在两个相同型号的方块上进行,但是在" "方块上时,不能时空穿梭。

Example:
                   ABCA you can go from 1A to 4A

                    BC  you can not go from 1" " to 4" " 
现在给你一个《卷土重来》的关卡,问你通关的最少步数。
由于某种特殊情况,可能文末会有多余的空格或换行,请忽略他们

输入描述:

第一行三个整数n,x,y

第二行n个字符(包含A-Z和空格)表示1×n的地面。

输出描述:

一行一个整数代表答案。
示例1

输入

复制
5 1 5
AB BC

输出

复制
3

说明

第一步:1->2

第二步:2->4

第三步:4->5

这里只给出其中一种满足方案的,答案不止一种。

输入的第二行保证只会有大写字母或空格

备注:

100% 1≤n≤10^5,1<=x<=y<=n,并且数据保证有解