using System;
using System.Linq;
using System.Collections.Generic;

namespace Algorithm
{
    class Program
    {
        static void Main(string[] args)
        {
            var l = Console.ReadLine().Split().Select(int.Parse).ToArray();
            int n = l[0], h = l[1];

            var ab = new int[n][];
            for (var i = 0; i < n; i++)
                ab[i] = Console.ReadLine().Split().Select(int.Parse).ToArray();

            var maxA = ab.Max(x => x[0]);
            var minB = ab.Where(w => w[0] == maxA).Min(x => x[1]);
            var count = 0L;

            foreach (var val in ab.OrderByDescending(o => o[1]).ToArray())
            {
                count++;
                if (maxA < val[1] && maxA != val[0]) h -= val[1];
                else
                {
                    h -= val[1];
                    if (h > 0 && minB == val[1])
                    {
                        count += h % val[0] == 0 ? h / val[0] : h / val[0] + 1;
                        break;
                    }
                }

                if (h <= 0) break;
            }

            Console.WriteLine(count);
        }
    }
}
