#include <bits/stdc++.h>
using namespace std;
int a[100000];
int b[100000];
int main() {
  int N, H;
  cin >> N >> H;
  for (int i = 0; i < N; i++) cin >> a[i] >> b[i];
  int amax = a[0];
  int amaxpos = 0;
  for (int i = 0; i < N - 1; i++) {
    amax = max(amax, a[i + 1]);
    amaxpos = i;
  }
  int amaxposb = b[amaxpos];
  b[amaxpos] = 0;
  sort(b, b + N);
  int count = 0;
  for (int i = N - 1; b[i] > amax; i--) {
    if (H <= 0) {
      cout << count << endl;
      return 0;
    }
    H -= b[i];
    count++;
  }
  while (H > max(amax, amaxposb)) {
    count++;
    H -= amax;
  }
  count++;
  cout << count << endl;
  return 0;
}
