import Control.Applicative ((<$>), (<*>))
import Control.Monad
import Data.List

main :: IO ()
main = do
  [n,a,b] <- getl $ map read . words
  solve n a b <$> getl (map read . words) >>= print

solve :: Int -> Int -> Int -> [Int] -> Int
solve n a b xs = foldl f 0 ds
  where
    ds = zipWith (-) (tail xs) xs
    f s x = if x * a > b then s + b else s + x * a

getl :: (String -> a) -> IO a
getl f = f <$> getLine
