#include<bits/stdc++.h> 
#define REP(i, b) for(int i = 0; i < (b); i++)
#define REPS(i, b) for(int i = 1; i <= (b); i++)
#define FOR(i, a, b) for(int i = (a); i < (b); i++)
#define ALL(v) (v).begin(), (v).end()
using namespace std;
using ll = long long;
using P = pair<int, int>;
using vi = vector<int>;
using vl = vector<ll>;
using vs = vector<string>;
using vb = vector<bool>;
const int INF = 1e9;
const int MOD = 1e9+7;


signed main()
{
    cin.tie(nullptr);
    ios_base::sync_with_stdio(false);
    cout << fixed << setprecision(10);
    
    ll N, H; cin >> N >> H;
    vl a(N), b(N); REP(i, N) cin >> a[i] >> b[i];

    ll ans = 0;
    sort(ALL(a), greater<>());
    sort(ALL(b), greater<>());
    REP(i, N)
    {
        if(b[i] <= a[0]) break;
        ans++;
        H = max((ll)0, H-b[i]);
    }
    cout << ans + (H+a[0]-1)/a[0] << endl;
}
