#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll mod = 1e9 + 7;
bool compare(pair<ll, ll> a, pair<ll, ll> b) {
  if (a.second != b.second)
    return a.second < b.second;
  else
    return a.first < b.first;
}
int main() {
  ll n, h, count = 0;
  cin >> n >> h;
  vector<pair<ll, ll>> p(n);
  for (int i = 0; i < (int)n; i++) {
    ll a, b;
    cin >> a >> b;
    p[i] = make_pair(a, b);
  }
  sort((p).begin(), (p).end());
  ll con = p[n - 1].first;
  ll thr = p[n - 1].second;
  sort((p).begin(), (p).end(), compare);
  while (p.size() != 0) {
    if (p.back().first == con && p.back().second == thr) {
      goto loop;
    }
    if (con < p.back().second) {
      h -= p.back().second;
      count++;
      if (h <= 0) goto last;
    } else {
      if (thr > p.back().second) {
        if (h - thr <= 0) {
          count++;
          cout << count << endl;
          return 0;
        } else {
          while (h > 0) {
            if (h - thr <= 0) {
              count++;
              cout << count << endl;
              return 0;
            }
            count++;
            h -= con;
          }
          goto last;
        }
      } else {
      loop:
        while (h > 0) {
          if (h - thr <= 0) {
            count++;
            cout << count << endl;
            return 0;
          }
          count++;
          h -= con;
        }
        goto last;
      }
    }
    p.pop_back();
  }
  if (p.size() == 0) {
    while (h <= 0) {
      count++;
      h -= con;
    }
  }
last:
  cout << count << endl;
  return 0;
}
