#include <bits/stdc++.h>
using namespace std;
int main() {
  unsigned long long int n, h;
  cin >> n >> h;
  vector<unsigned long long int> b;
  unsigned long long int max_a = 0, a_b = 0;
  for (int i = 0; i < n; ++i) {
    unsigned long long int tmpa, tmpb;
    cin >> tmpa >> tmpb;
    if (tmpa > max_a) {
      b.push_back(a_b);
      max_a = tmpa;
      a_b = tmpb;
    } else {
      b.push_back(tmpb);
    }
  }
  sort(b.rbegin(), b.rend());
  unsigned int count = 0;
  for (auto i : b) {
    if (i < max_a) break;
    h -= i;
    count++;
    if (h <= 0) break;
  }
  if (max_a > a_b) {
    while (h >= 0) {
      h -= max_a;
      count++;
    }
  } else {
    while (h > a_b) {
      h -= max_a;
      count++;
    }
    ++count;
  }
  cout << count << endl;
  return 0;
}
