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

class Program
{

    class Katana
    {
        public readonly int a;
        public readonly int b;

        public Katana(int a, int b)
        {
            this.a = a;
            this.b = b;
        }
    }

    private static List<Katana> katanas;

    private static Dictionary<Tuple<int, int>, int> memo;

    private static int INF = 2000000000;

    private static int Search(int index, int hp, int depth)
    {
        var tup = new Tuple<int, int>(index, hp);

        if (memo.ContainsKey(tup))
        {
            return memo[tup];
        }

        if (hp <= 0)
        {
            return 0;
        }
        //else if (depth == MAX_DEPTH)
        //{
        //    return (int)Math.Ceiling((float)hp / katanas.Last().a) + 1;
        //}
        else if (index == katanas.Count)
        {
            return INF;
        }

        var results = new List<int>();

        results.Add(Search(index + 1, hp - katanas[index].b, depth + 1) + 1);
        results.Add(Search(index + 1, hp, depth + 1));
        results.Add(Search(index, hp - katanas[index].a, depth + 1) + 1);

        var result = results.Min();

        memo[tup] = result;

        return result;
    }

    static void Main(string[] args)
    {
        var firstInputStrings = Console.ReadLine().Split(' ');
        var N = int.Parse(firstInputStrings[0]);
        int H = int.Parse(firstInputStrings[1]);

        katanas = new List<Katana>();
        memo = new Dictionary<Tuple<int, int>, int>();
        for (int i = 0; i < N; i++)
        {
            var inputStrings = Console.ReadLine().Split(' ');
            var a = int.Parse(inputStrings[0]);
            var b = int.Parse(inputStrings[1]);
            katanas.Add(new Katana(a, b));
        }

        katanas.Sort((x, y) =>
        {
            if (x.a != y.a)
            {
                return x.a - y.a;
            }
            else
            {
                return y.b - x.b;
            }
        });


        Console.WriteLine(Search(0, H, 0));
    }
}