#include<bits/stdc++.h>

#include <ext/pb_ds/assoc_container.hpp> //required
#include <ext/pb_ds/tree_policy.hpp> //required

using namespace __gnu_pbds; 
using namespace std;

template <typename T> using ordered_set =  tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; 
typedef long long  ll;
typedef vector<ll> VL;
typedef vector<int> VI;
typedef pair<ll,ll> PLL;
typedef pair<int,int> PII;
#define pb push_back

#define F first
#define S second
#define ALL(a) a.begin(),a.end()
#define fr(i,x,y) for(ll i=x;i<y;i++)
#define frr(i,x,y) for(ll i=x-1;i>=y;i--)
#define inf 10000000000000000
const ll mod=1000000007;
ll gcd(ll a,ll b) { return b?gcd(b,a%b):a;}
ll power(ll a,ll b)
{
    ll ans=1;
    while(b!=0)
    {
        if(b&1)
        {
            ans*=a;
            ans%=mod;
        }
        a=(a*a);
        a%=mod;
        b>>=1;
    }
    return ans%mod;
}
void solve()
{
    ll n,h;
    cin>>n>>h;
    vector<PLL> arr(n);
    fr(i,0,n)
    {
        cin>>arr[i].F>>arr[i].S;
    }
    sort(ALL(arr));
    PLL tmp=arr[n-1];
    ll ct=0;
    fr(i,n-1,0)
    {
        if(arr[i].S>=tmp.F&&h>0)
        {
            ct++;
            h-=arr[i].S;
        }
    }
    while(h>0)
    {
        if(tmp.S>tmp.F)
        {
            if(h>tmp.S)
            {
                //ct++;
                ll x=(h-tmp.S);
                if(x%tmp.F==0)
                {
                    x=x/tmp.F;
                }
                else
                {
                    x=x/tmp.F;
                    x++;
                }
                h-=x*tmp.F;
                ct+=x;
            }
            else
            {
                ct++;
                h-=tmp.S;
            }
        }
        else
        {
            ll x=(h);
            if(x%tmp.F==0)
            {
                x=x/tmp.F;
            }
            else
            {
                x=x/tmp.F;
                x++;
            }
            h-=x*tmp.F;
            ct+=x;
        }   
    }
    cout<<ct<<endl;
	return;
}
int main()
{
	ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    ll t=1;
    //cin>>t;
    while(t--)
    {
    	solve();
    }
	return 0;
}