import sys

import math

input = sys.stdin.readline



n, a, b = list(map(int, input().split()))

x = list(map(int, input().split()))

k = math.floor(b / a)

ans = 0

for i in range(1, n):

    if k >= x[i] - x[i - 1]:

        ans += (x[i] - x[i - 1]) * a

    else:

        ans += b

print(ans)

import sys

read = sys.stdin.buffer.read

readline = sys.stdin.buffer.readline

readlines = sys.stdin.buffer.readlines

sys.setrecursionlimit(10 ** 7)



n, a, b = list(map(int, readline().split()))

x = list(map(int, readline().split()))

ans = 0

for bf, af in zip(x, x[1:]):

    ans += min((af - bf) * a, b)

print(ans)

import sys
import math

input = sys.stdin.readline
n, a, b = list(map(int, input().split()))
x = list(map(int, input().split()))
k = math.floor(b / a)
ans = 0
for i in range(1, n):
    if k >= x[i] - x[i - 1]:
        ans += (x[i] - x[i - 1]) * a
    else:
        ans += b
print(ans)

import sys

read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
sys.setrecursionlimit(10**7)
n, a, b = list(map(int, readline().split()))
x = list(map(int, readline().split()))
ans = 0
for bf, af in zip(x, x[1:]):
    ans += min((af - bf) * a, b)
print(ans)

-import math -input = sys.stdin.readline -n, a, b = list(map(int, input().split())) -x = list(map(int, input().split())) -k = math.floor(b / a) +read = sys.stdin.buffer.read +readline = sys.stdin.buffer.readline +readlines = sys.stdin.buffer.readlines +sys.setrecursionlimit(10**7) +n, a, b = list(map(int, readline().split())) +x = list(map(int, readline().split())) -for i in range(1, n): -    if k >= x[i] - x[i - 1]: -        ans += (x[i] - x[i - 1]) * a -    else: -        ans += b +for bf, af in zip(x, x[1:]): +    ans += min((af - bf) * a, b)