import Control.Monad
import Data.List

main :: IO ()
main = do
  [n, h] <- readInts
  ks <- replicateM n readInts
  print $ solve h ks

readInts :: IO [Int]
readInts = map read . words <$> getLine

solve :: Int -> [Int] -> Int
solve h ks = solve' h 0 $ bs ++ repeat a
  where
    a = maximum [ a | [a, _] <- ks ]
    bs = sortOn negate $ [ b | [_, b] <- ks, b > a ]

solve' :: Int -> Int -> [Int] -> Int
solve' h n (x:xs)
  | h <= 0 = n
  | otherwise = solve' (h - x) (n + 1) xs

  
