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

module Main where

import qualified Data.Text as T
import qualified Data.Text.IO as T
import Data.List
import Control.Applicative
import Control.Monad
import Data.Char
import Data.Maybe
import qualified Data.Map.Lazy as M

main :: IO ()
main = do
  [n, x] <- map (read . T.unpack) . T.words <$> T.getLine
  ms <- map (read . T.unpack) <$> replicateM (fromIntegral n) T.getLine
  print $ solve ms x

solve :: [Integer]  -> Integer -> Integer
solve ms x = (x - allKindAumValue) `div` cheep + (fromIntegral $ length ms)
  where
    allKindAumValue = sum ms
    cheep = minimum ms
