module Main(main) where
import Data.List

attack katana h =
  let as = map head katana
      bs = map (head . tail) katana
      ma = foldl max 1 as
      tk = sort $ filter (> ma) bs
      (tv,tn) = foldl (\(a,a') b -> if a < h then (a+b,a'+1)
                               else (a,a')) (0,0) tk
      h' = max 0 (h - tv)
      na = floor ((h' / ma) + 0.5)
      ta = na + tn :: Int
  in ta

main :: IO ()
main = do
  [n,h] <- map read . words <$> getLine :: IO [Int]
  katana <- (map $ map read . words) <$> (sequence $ replicate n getLine) :: IO [[Double]]
  print $ attack katana (fromIntegral h)

