#include<stdio.h>
long long sum = 0;
void merge(int a[], int i, int mid, int j) {
int all[j-i+1];
int s = 0;
int lo, hi;
lo = i;
hi = mid + 1;
while (lo <= mid && hi <= j) {
if (a[lo] <= a[hi]) {
all[s++] = a[lo++];
} else {
sum+=mid-lo+1;
all[s++] = a[hi++];
}
}
for (int k = lo; k <= mid; k++) {
all[s++] = a[k];
}
for (int k = hi; k <= j; k++) {
all[s++] = a[k];
}
s = 0;
for (int k = i; k <= j; k++) {
a[k] = all[s++];
}
}
void MergeSort(int a[], int i, int j) {
if (i >= j)
return;
int mid = (j - i) / 2 + i;
MergeSort(a, i, mid);
MergeSort(a, mid + 1, j);
merge(a, i, mid, j);
}
int main(){
int n,a,b;
scanf("%d %d %d",&n,&a,&b);
int d[n];
for(int i=0;i<n;i++) {
scanf("%d",&d[i]);
}
MergeSort(d,0,n-1);
long long result;
if(a < b){
result = sum*a;
} else {
result = sum*b;
}
printf("%lld\n",result);
return 0;
}