P25905 [AtCoder] Rotate and Palindrome
普及-
题目描述

Problem Statement

You are given a string S of length N. Let S_i\ $(1\leq i \leq N)$ be the i-th character of S from the left.
You may perform the following two kinds of operations zero or more times in any order:

  • Pay A yen (the currency in Japan). Move the leftmost character of S to the right end. In other words, change $S_1S_2\ldots S_N$ to $S_2\ldots S_NS_1$.

  • Pay B yen. Choose an integer i between 1 and N, and replace S_i with any lowercase English letter.

How many yen do you need to pay to make S a palindrome?
What is a palindrome?
A string T is a palindrome if and only if the i-th character from the left and the i-th character from the right are the same for all integers $i (1 \le i \le |T|)$, where |T| is the length of T.

Input

The input is given from Standard Input in the following format:
N A B
S

Output

Print the answer as an integer.

Constraints

  • $1\leq N \leq 5000$
  • $1\leq A,B\leq 10^9$
  • S is a string of length N consisting of lowercase English letters.
  • All values in the input except for S are integers.

Sample Input 1

5 1 2
rrefa

Sample Output 1

3

First, pay 2 yen to perform the operation of the second kind once: let i=5 to replace S_5 with e. S is now rrefe.
Then, pay 1 yen to perform the operation of the first kind once. S is now refer, which is a palindrome.
Thus, you can make S a palindrome for 3 yen. Since you cannot make S a palindrome for 2 yen or less, 3 is the answer.

Sample Input 2

8 1000000000 1000000000
bcdfcgaa

Sample Output 2

4000000000

Note that the answer may not fit into a 32-bit integer type.

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
5 1 2 rrefa
样例输出
3