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


class Program
{
    static void Main(string[] args)
    {
        // 入力
        //var s = Console.ReadLine();
        //var n = int.Parse(Console.ReadLine());
        long[] nh = Console.ReadLine().Split().Select(long.Parse).ToArray();
        var n = nh[0];
        var h = nh[1];

        long[] a = new long[n];
        long[] b = new long[n];
        for (int i = 0; i < n; i++)
        {
            long[] tmp = Console.ReadLine().Split().Select(long.Parse).ToArray();
            a[i] = tmp[0];
            b[i] = tmp[1];
        }

        var ok = false;

        //a < b の場合全て投げる
        long amax = a.Max();
        Array.Sort(b);
        Array.Reverse(b);
        long sum = 0;
        long k = 0;
        while (k < n)
        {
            if (b[k] < amax)
            {
                break;
            }
            sum += b[k];
            k++;
            if(sum >= h) ok = true;
        }

        if(ok)
        {
            Console.WriteLine(k);
            return;
        }

        //残りはaで削る
        k += (long)Math.Ceiling((decimal)(h - sum) / (decimal)amax);
        Console.WriteLine(k);
    }
}