#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-7;
const double PI = 2 * acos(0);
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  long long int n, h;
  while (cin >> n >> h) {
    vector<pair<int, int> > a(n), b(n);
    for (int i = 0; i < n; i++) {
      cin >> a[i].first >> b[i].first;
      a[i].second = b[i].second = i;
    }
    sort(a.rbegin(), a.rend());
    sort(b.rbegin(), b.rend());
    long long int moves = 0;
    bool done = false;
    int i = n - 1;
    while (b[i] <= a[0]) i--;
    for (int j = 0; j <= i; j++) {
      h -= b[j].first;
      moves++;
      if (h <= 0) {
        done = true;
        break;
      }
    }
    if (done) {
      cout << moves << "\n";
      continue;
    }
    long long int step = (h + a[0].first - 1) / a[0].first;
    h -= step * a[0].first;
    moves += step;
    cout << moves << "\n";
  }
  return 0;
}
