#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, h;
  vector<int> a;
  vector<int> b;
  cin >> n >> h;
  int amax = 0;
  for (int i = 0; i < n; i++) {
    int in1, in2;
    cin >> in1 >> in2;
    a.push_back(in1);
    b.push_back(in2);
    if (a[amax] < a[i]) {
      amax = i;
    }
    if (a[amax] == a[i] && b[amax] > b[i]) {
      amax = i;
    }
  }
  int last = b[amax];
  b[amax] = 0;
  int answer = 0;
  sort(b.begin(), b.end());
  while (b[b.size() - 1] > a[amax]) {
    h -= b[b.size() - 1];
    answer++;
    b.pop_back();
    if (h <= 0) {
      cout << answer << endl;
      return 0;
    }
  }
  if (last > a[amax]) {
    answer += (h - last) / a[amax];
    if ((h - last) % a[amax] != 0) {
      answer++;
    }
    answer++;
  } else {
    answer += h / a[amax];
    if (h % a[amax] != 0) {
      answer++;
    }
  }
  cout << answer << endl;
  return 0;
}
