{-# LANGUAGE OverloadedLists     #-}
{-# LANGUAGE OverloadedStrings   #-}
{-# LANGUAGE ScopedTypeVariables #-}

import           Control.Monad
import           Data.IORef
import           Data.Maybe
import qualified Data.Text     as T
import qualified Data.Text.IO  as T
import           System.IO

import qualified Data.IntMap   as I
import qualified Data.Map      as M
import qualified Data.Set      as S
import qualified Data.Vector   as V

(+.+) = T.append
(!.!) = T.index

readT :: Read a => T.Text -> a
readT = read . T.unpack

getLineSpc :: Read a => IO [a]
getLineSpc = do
  t <- T.getLine
  let xs = map readT $ T.split (== ' ') t
  return xs

main :: IO ()
main = chocolate

chocolate :: IO ()
chocolate = do
  n  :: Int <- readLn
  dx :: [Int] <- getLineSpc
  let [d, x] = dx
  as :: [Int] <- replicateM n readLn
  let modAs = map (\m -> (d - 1) `div` m + 1) as
      ans = x + sum modAs
  print ans