solve :: [Int] -> Int -> Int -> Int
solve [] a h = (h+a-1) `div` a
solve (b:bs) a h = if a >= b
                      then (h+a-1) `div` a
                      else 1 + (solve bs a (h-b)) 

main = do
    [n,h] <- map read . words <$> getLine :: IO[Int]
    co <- getContents
    let ab = map (map read) $ map words $ lines co :: [[Int]]
    let (as,bs) = foldl (\ (as,bs) [a,b] -> (a:as, b:bs)) ([],[]) ab
    print $ solve (sortBy (flip compare) bs) (maximum as) h
