#include <iostream>
#include <cstdio>
using namespace std;
typedef long long LL;
const int N = 1e5 + 5;
int f[N], lct[N], n;
LL cstA, cstB;
int F (int x) {
	return f[x] == x ? x : f[x] = F(f[x]);
}
void scan() {
	scanf("%d %lld %lld", &n, &cstA, &cstB);
	for (int i = 0; i < n; i++) {
		scanf("%d", &lct[i]);
		f[i] = i;
	}
}
void srch() {
	for (int i = 1; i < n; i++) {
		if (cstA * 1LL * (lct[i] - lct[i - 1]) <= cstB) {
			f[F(i)] = F(i - 1);
		}
	}
}
LL ans() {
	int pre;
	LL ret = 0;
	pre = F(0);
	for (int i = 1; i < n; i++) {
		if (F(i) == pre) {
			ret += 1LL * (lct[i] - lct[i - 1]) * cstA;
		}
		else {
			ret += cstB;
			pre = F(i);
		}
	}
	return ret;
}
int main() {
	scan();
	srch();
	printf("%lld\n", ans());
	return 0;
}