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