#include <bits/stdc++.h>
using namespace std;
int n;
int h;
vector<int> a(100000);
vector<int> b(100000);
int max_sord = 0;
int max_sordb = 0;
int max_num = 0;
int main() {
  cin >> n;
  cin >> h;
  for (int i = 0; i < n; i++) {
    cin >> a.at(i);
    cin >> b.at(i);
    if (a.at(i) > max_sord) {
      max_sord = a.at(i);
      max_sordb = b.at(i);
      max_num = i;
    } else if (a.at(i) == max_sord) {
      if (b.at(i) < max_sordb) {
        max_sordb = b.at(i);
        max_num = i;
      }
    }
  }
  int count = 0;
  if (h <= max_sordb) {
    count += 1;
    cout << count << endl;
    return 0;
  }
  for (int i = 0; i < n; i++) {
    if (i != max_num) {
      if (b.at(i) > max_sord) {
        count += 1;
        h -= b.at(i);
        if (h <= 0) {
          cout << count << endl;
          return 0;
        }
        if (h <= max_sordb) {
          count += 1;
          cout << count << endl;
          return 0;
        }
      }
    }
  }
  while (h > max_sordb) {
    count += 1;
    h -= max_sord;
  }
  if (h <= 0) {
    cout << count << endl;
    return 0;
  } else {
    count += 1;
    cout << count << endl;
    return 0;
  }
}
