#include <bits/stdc++.h>
int cmpint(const void *x, const void *y) { return *(int *)y - *(int *)x; }
int main() {
  int n, h, a, aMax = 0, b[100000], ans = 0;
  scanf("%d%d", &n, &h);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a);
    if (a > aMax) {
      aMax = a;
    }
    scanf("%d", &b[i]);
  }
  qsort(b, n, sizeof(int), cmpint);
  for (int i = 0;; i++) {
    if (b[i] > aMax) {
      h -= b[i];
      ans++;
    } else {
      ans += h / aMax;
      if (h % aMax != 0) ans++;
      h = 0;
    }
    if (h <= 0) break;
  }
  printf("%d\n", ans);
  return 0;
}
