#include <bits/stdc++.h>
int main(int argc, char const* argv[]) {
  long long n, h;
  std::cin >> n >> h;
  long long w, t;
  std::vector<long long> wList, tList;
  while (std::cin >> w >> t) {
    wList.emplace_back(w);
    tList.emplace_back(t);
  }
  long long c = 0;
  std::sort(wList.begin(), wList.end());
  std::sort(tList.begin(), tList.end());
  long long l = wList.back();
  auto found = std::find_if(tList.begin(), tList.end(),
                            [&l](long long& temp) { return l <= temp; });
  for (; found != tList.end(); ++found) {
    h -= *found;
    ++c;
  }
  long long temp = h - h / l * l;
  long long temp1 = h / l;
  c += ((temp > 0 ? 1 : 0) + temp1);
  std::cout << c << std::endl;
  return 0;
}
