#include <bits/stdc++.h>
int main(void) {
  int N, H;
  scanf("%d %d", &N, &H);
  int a[N], b[N];
  int i, j, k;
  int aMax = 0;
  int bMax = 0;
  int aMin = 1000000000;
  int bMin = 1000000000;
  for (i = 0; i < N; i++) {
    scanf("%d %d", &a[i], &b[i]);
    if (a[i] > aMax) aMax = a[i];
    if (b[i] > bMax) bMax = b[i];
    if (a[i] < aMin) aMin = a[i];
    if (b[i] < bMin) bMin = b[i];
  }
  int aRb = 0;
  int Bpower = 0;
  for (i = 0; i < N; i++) {
    if (aMax < b[i]) {
      aRb++;
      Bpower += b[i];
    }
  }
  int count = 0;
  int tmp;
  if (Bpower >= H) {
    for (i = 0; i < N; i++) {
      for (j = N - 1; j > i; j--) {
        if (b[j] > b[j - 1]) {
          tmp = b[j];
          b[j] = b[j - 1];
          b[j - 1] = tmp;
        }
      }
    }
    for (i = 0; H > 0; i++) {
      H -= b[i];
      if (H < 0) count = i + 1;
    }
  } else {
    count = aRb + (H - Bpower) / aMax +
            ((H - Bpower) % aMax / (int)((H - Bpower) % aMax + 0.1));
  }
  printf("%d", count);
}
