编程题
### 问题描述
丽丽是一名软件工程师,她正在开发一个字符串转换程序。这个程序需要将一个由 $n$ 个字符组成的字符串 $a_1, a_2, \ldots, a_n$ 进行转换。每个字符可以是任意可打印字符。
为了提高转换速度,丽丽决定对字符串 $a$ 进行一些操作。她有两种操作可供选择:
- 翻转字符串 $a$ 中的某个子串,需要消耗 $x$ 个单位。
- 交换字符串 $a$ 中某个子串中的字符,将其中的字符重新排列,需要消耗 $y$ 个单位。
请你帮忙计算,最少需要消耗多少单位,才能将字符串 $a$ 中的所有字符都转换为相同的字符。注意,你可以对一个子串进行多次操作。
### 输入格式
第一行包含三个整数 $n, x$ 和 $y$,表示字符串长度以及翻转和取反操作的消耗 ($1 \leq n \leq 10^3, 0 \leq x, y \leq 10^3$)。
第二行包含一个长度为 $n$,仅包含 0 和 1 的字符串 $a$。
### 输出格式
输出一个整数,表示将字符串 $a$ 中所有的 0 都变成 1 所需的最少消耗。如果字符串已经全部为 1,则输出 0。
### 样例输入
```
5 1 2
10101
```
### 样例输出
```
3
```