#include <bits/stdc++.h>
void swap(int *xp, int *yp) {
  int temp = *xp;
  *xp = *yp;
  *yp = temp;
}
void bubbleSort(int arr[], int n) {
  int i, j;
  for (i = 0; i < n - 1; i++)
    for (j = 0; j < n - i - 1; j++)
      if (arr[j] > arr[j + 1]) swap(&arr[j], &arr[j + 1]);
}
int main(void) {
  int n;
  int h;
  scanf("%d%d", &n, &h);
  int i;
  int a, amax = 0, b[n];
  for (i = 0; i < n; i++) {
    scanf("%d%d", &a, &b[i]);
    if (amax < a) amax = a;
  }
  bubbleSort(b, n);
  int c = 0;
  for (i = n - 1; b[i] > amax; i--) {
    if (h > 0) {
      h -= b[i];
      c++;
    } else {
      printf("%d\n", c);
      return 0;
    }
  }
  while (h > 0) {
    h -= amax;
    c++;
  }
  printf("%d\n", c);
  return 0;
}
