#include <bits/stdc++.h>
int main(void) {
  long long N, H, *a, *b;
  long long a_max = 0, cnt = 0;
  scanf("%d %d", &N, &H);
  a = (long long*)malloc(sizeof(long long) * N);
  b = (long long*)malloc(sizeof(long long) * N);
  for (long long i = 0; i < N; i++) {
    scanf("%d %d", &a[i], &b[i]);
  }
  for (long long i = 0; i < N; i++) {
    if (a[i] > a_max) {
      a_max = a[i];
    }
  }
  for (long long i = 0; i < N; i++) {
    if (b[i] > a_max) {
      H -= b[i];
      cnt++;
    }
  }
  if (H <= 0) {
    printf("%lld\n", cnt);
    return 0;
  }
  if (H % a_max == 0) {
    printf("%lld\n", cnt + H / a_max);
  } else {
    printf("%lld\n", cnt + H / a_max + 1);
  }
  return 0;
}
