#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();
  for (auto end = tList.rbegin(); end != tList.rend(); ++end) {
    if (*end > l) {
      std::cout << *end << std::endl;
      h -= *end;
      ++c;
    } else if (h < 0) {
      break;
    } else
      break;
  }
  if (h > 0) c += (((h - h / l * l) > 0 ? 1 : 0) + h / l);
  std::cout << c << std::endl;
  return 0;
}
