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

namespace CsharpProgramTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // 本数＋HP
            var s = Console.ReadLine().Split(' ');
            // 本数
            var count = int.Parse(s[0]);
            // HP
            var hitPoint = int.Parse(s[1]);

            var attackList = new List<int[]>();
            // 刀ステータス
            for(var i = 0; i < count; i++) {
                // 0:切り、1:投げ
                var attackSetNum = Console.ReadLine().Split(' ').Select(c => int.Parse(c)).ToArray();
                attackList.Add(attackSetNum);
            }

            var tempAttackList = attackList.Select(ss => ss).ToList();
            var allAttackCount = 0;
            while(true) {
                // 投げ続けてみる
                var tempHp = hitPoint;
                var tempCount = tempAttackList.Count();
                var tempAttackCount = 0;
                var kiriMax = tempAttackList.OrderByDescending(a => a[0]).First();
                for(var i = 0; i < tempCount && tempAttackList.Count() > 0; i++) {
                    // 投げ判定
                    var nageMax = tempAttackList.OrderByDescending(a => a[1]).First();
                    // 投げ効率が高い
                    if(kiriMax[0] < nageMax[1]) {
                        tempHp -= nageMax[1];
                        tempAttackCount++;
                        // 死亡
                        if(tempHp <= 0) {
                            Console.WriteLine(allAttackCount + tempAttackCount);
                            return;
                        }
                        // 対象の要素削除
                        tempAttackList.Remove(nageMax);
                    }
                }
                // 死なない場合
                // 刀を戻す
                tempAttackList = attackList.Select(ss => ss).ToList();
                // 一番切り効率が良いものでダメージ
                hitPoint -= tempAttackList.Select(a => a[0]).Max();
                allAttackCount++;
                // 死亡判定
                if(hitPoint <= 0) {
                    Console.WriteLine(allAttackCount);
                    return;
                }
            }
        }
    }
}
