program mogmog2020E
    implicit none
    integer(8)::N,A,B,i,ans
    integer(8),allocatable,dimension(:)::X
    read*,N,A,B
    allocate(X(N))
    read*,X
    ans=0

    do i=2,N
        ans=ans+min(A*(X(i)-X(i-1)),B)
    end do
    print'(i0)',ans
contains
    recursive function iqsort(ix) result(ires)
      integer(8), allocatable :: ires(:)
      integer(8), intent(in)  :: ix(:)
      integer :: k
      if (size(ix) <= 1) then 
        ires = ix
      else  
        k = ix(size(ix) / 2)
        ires = [iqsort(pack(ix, ix < k)), pack(ix, ix == k), iqsort(pack(ix, ix > k))] 
      end if
    end function iqsort
end program mogmog2020E