#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, h;
  vector<int> a, b;
  scanf("%d %d", &n, &h);
  int ta, tb;
  for (int i = 0; i < n; i++) {
    scanf("%d %d", &ta, &tb);
    a.push_back(ta);
    b.push_back(tb);
  }
  auto max_a = max_element(a.begin(), a.end());
  auto b_end = remove_if(b.begin(), b.end(), [=](int x) { return x < *max_a; });
  h -= accumulate(b.begin(), b_end, 0);
  int att = 0;
  if (h > 0) {
    att += h / *max_a;
    if (h % *max_a > 0) {
      att += 1;
    }
  }
  att += distance(b.begin(), b_end);
  printf("%d\n", att);
}
