P8508 [AtCoder] AtCoder Grand Contest 032 - Rotation Sort
提高+
题目描述

You are given $a permutation p = (p_1, \ldots, p_N)$ of \${ 1, \ldots, N$ \}. You can perform the following two kinds of operations repeatedly in any order:

  • Pay a cost A. Choose integers l and $r (1 \leq l < r \leq N)$, and shift $(p_l, \ldots, p_r)$ to the left by one. That is$, replace p_l, p_{l + 1}, \ldots, p_{r - 1}, p_r$ with $p_{l + 1}, p_{l + 2}, \ldots, p_r, p_l,$ respectively.
  • Pay a cost B. Choose integers l and $r (1 \leq l < r \leq N)$, and shift $(p_l, \ldots, p_r)$ to the right by one. That is$, replace p_l, p_{l + 1}, \ldots, p_{r - 1}, p_r$ with $p_r, p_l, \ldots, p_{r - 2}, p_{r - 1},$ respectively.

Find the minimum total cost required to sort p in ascending order.

Constraints

  • All values in input are integers.
  • $1 \leq N \leq 5000$
  • $1 \leq A, B \leq 10^9$
  • $(p_1 \ldots, p_N)$ is a permutation of \${ 1, \ldots, N$ \}.

Input

Input is given from Standard Input in the following format:

N A B
$p_1 \cdots p_N$

Output

Print the minimum total cost required to sort p in ascending order.

Examples

Input

3 20 30
3 1 2

Output

20

Input

4 20 30
4 2 3 1

Output

50

Input

1 10 10
1

Output

0

Input

4 1000000000 1000000000
4 3 2 1

Output

3000000000

Input

9 40 50
5 3 4 7 6 1 2 9 8

Output

220

输入格式

见题面

输出格式

见题面

样例输入
3 20 30 3 1 2
样例输出
20