#include <iostream>
#include<string>
#include<cmath>
#include<algorithm>
#include<cctype>
#include<queue>
#include<stack>
#include<stdio.h>
#include<vector>
#include<set>
#include<map>
#include<iomanip>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
typedef int long long ll;




int main(){
    ll n,h;

    cin>>n>>h;
    vector<ll> a(n);
    vector<ll> b(n);
    for(int i=0;i<n;i++){
        ll x,y;
        cin>>x>>y;
        a.push_back(x);
        b.push_back(y);
    }
    
    sort(a.rbegin(),a.rend());
    sort(b.rbegin(),b.rend());
    
    ll nage=0;
    ll nokori=0;
    ll ans=0;
    
    
    ll mi=h/a[0];
    
    if(h%a[0]!=0)mi++;
    
    
    for(ll i=0;i<n;i++){
        nage+=b[i];
        nokori=h-nage;
        if(nokori>=0){
        ans=nokori/a[0];
        if(nokori%a[0]!=0)ans++;
        ans+=i+1;
            
        /*}else{
            ans=i+1;
         }*/
        mi=min(ans,mi);
    }
    
    cout<<mi<<endl;
    

return 0;
}
