import Control.Applicative
import Control.Monad
import Data.List

getInt = readLn :: IO Int
getInts = map read . words <$> getLine :: IO [Int]
apply2 :: (a -> a -> b) -> [a] -> b
apply2 f [x,y] = f x y
infixl 7 `divCeil`
divCeil :: Integral a => a -> a -> a
x `divCeil` y = (x+y-1) `div` y

main = do
    [n,h] <- getInts
    xs <- map (apply2 (,)) <$> replicateM n getInts
    print $ let da = maximum $ map fst xs in let fd = scanl (-) h $ sortBy (flip compare) $ filter (>=da) $ map snd xs in let r = last fd in if r>0 then length fd - 1 + r `divCeil` da else length $ filter (>0) fd
