#include <bits/stdc++.h>
using namespace std;
int main() {
  int32_t N, H;
  scanf("%d%d", &N, &H);
  int32_t a_max = 0, b[100000];
  for (int32_t i = 0; i < N; i++) {
    int32_t a;
    scanf("%d%d", &a, &b[i]);
    a_max = max(a_max, a);
  }
  sort(b, b + N, greater<int32_t>());
  int32_t res = numeric_limits<int32_t>::max();
  for (int32_t k = 0; k <= N; k++) {
    int32_t hit_point = H;
    for (int32_t i = 0; i < k; i++) hit_point -= b[i];
    int32_t attacks = k;
    attacks += hit_point / a_max;
    if (hit_point % a_max > 0) attacks++;
    res = min(res, attacks);
  }
  printf("%d\n", res);
  return 0;
}
