#include <bits/stdc++.h>
#include<utility>
#include<algorithm>

#define pan(i,n) for(ll i=0;i<n;i++)
#define pans(i,n,a) for(ll i=a;i<n;i++)
#define ll long long int
#define vi vector<ll>
#define vl vector<ll>
#define pb push_back
#define INF 1e9+7
#define PI 3.141592653
#define inf 200007
#define P pair<ll,ll>
#define mp make_pair

using namespace std; 

int main(){
    ll n,h,slash=0,count=0,ans=0;
    cin>>n>>h;
    vector<P> v,q;
    pan(i,n){
        ll x,y;
        cin>>x>>y; 
        v.pb(mp(x,y));
        q.pb(mp(y,x));
    }
    sort(v.begin(),v.end());
    sort(q.begin(),q.end());
    
    slash=v[n-1].first;

    for(int i=n-1;i>=0;i--){
        if(ans<h)
            if(q[i].first>slash) ans+=q[i].first,count++;
        else 
            break;
    }
    if(ans<h){
        if((h-ans)%slash==0) count+=(h-ans)/slash;
        else if((h-ans)%slash>0) count+=((h-ans)/slash)+1;
    }
    cout<<count;
}#include <bits/stdc++.h>
#include<utility>
#include<algorithm>

#define pan(i,n) for(ll i=0;i<n;i++)
#define pans(i,n,a) for(ll i=a;i<n;i++)
#define ll long long int
#define vi vector<ll>
#define vl vector<ll>
#define pb push_back
#define INF 1e9+7
#define PI 3.141592653
#define inf 200007
#define P pair<ll,ll>
#define mp make_pair

using namespace std; 

int main(){
    ll n,h,slash=0,count=0,ans=0;
    cin>>n>>h;
    vector<P> v,q;
    pan(i,n){
        ll x,y;
        cin>>x>>y; 
        v.pb(mp(x,y));
        q.pb(mp(y,x));
    }
    sort(v.begin(),v.end());
    sort(q.begin(),q.end());
    
    slash=v[n-1].first;

    for(int i=n-1;i>=0;i--){
        if(ans<h)
            if(q[i].first>slash) ans+=q[i].first,count++;
        else 
            break;
    }
    if(ans<h){
        if((h-ans)%slash==0) count+=(h-ans)/slash;
        else if((h-ans)%slash>0) count+=((h-ans)/slash)+1;
    }
    cout<<count;
}