#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, h;
  cin >> n >> h;
  vector<pair<int, int>> a(n, pair<int, int>());
  vector<int> b(n, 0);
  for (int i = 0; i < n; i++) {
    cin >> a[i].first >> a[i].second;
    b[i] = a[i].second;
  }
  sort(a.begin(), a.end());
  sort(b.begin(), b.end());
  int abeqcount = 0;
  for (int i = 0; i < n; i++) {
    if (a[n - 1].second == b[i]) {
      abeqcount++;
    }
  }
  int counter = 0;
  for (int i = n - 1; i >= 0; i--) {
    if (b[i] < a[n - 1].first) {
      break;
    }
    if (b[i] != a[n - 1].second) {
      h -= b[i];
      counter++;
      if (h <= 0) {
        cout << counter << endl;
        return 0;
      }
    } else if (b[i] == a[n - 1].second && abeqcount != 1) {
      abeqcount--;
      h -= b[i];
      counter++;
      if (h <= 0) {
        cout << counter << endl;
        return 0;
      }
    }
  }
  if (a[n - 1].second > a[n - 1].first) {
    h -= a[n - 1].second;
    counter++;
    if (h <= 0) {
      cout << counter << endl;
      return 0;
    }
  }
  counter += h / a[n - 1].first + (h % a[n - 1].first != 0 ? 1 : 0);
  cout << counter << endl;
}
