#include <bits/stdc++.h>
int main() {
  int a[100005], b[100005], c[100005];
  int n, h, i, j, ans = 0, ruiseki = 0, tmp, max = 0;
  scanf("%d %d", &n, &h);
  for (i = 0; i <= n - 1; i++) {
    scanf("%d %d", &a[i], &b[i]);
    c[i] = b[i];
  }
  for (i = 0; i <= n - 1; i++) {
    if (max <= a[i]) {
      max = a[i];
    }
  }
  for (i = 0; i < n; i++) {
    for (j = i + 1; j < n; j++) {
      if (c[i] < c[j]) {
        tmp = c[i];
        c[i] = c[j];
        c[j] = tmp;
      }
    }
  }
  for (i = 0; i < n; i++) {
    if (max < c[i]) {
      ruiseki += c[i];
      ans += 1;
      if (ruiseki >= h) {
        break;
      }
    }
  }
  if (ruiseki < h) {
    for (i = 0; i >= 0; i++) {
      ruiseki += max;
      ans += 1;
      if (ruiseki >= h) {
        break;
      }
    }
  }
  printf("%d", ans);
  return 0;
}
