#include <bits/stdc++.h>
using namespace std;
struct Solution {
  void solve(std::istream& in, std::ostream& out) {
    int64_t n, h;
    in >> n >> h;
    vector<int64_t> a(n), b(n);
    int64_t kiru = 0, nageru = 0, ncnt = 0;
    for (int i = 0; i < n; i++) {
      in >> a[i] >> b[i];
      kiru = max(kiru, a[i]);
    }
    for (int i = 0; i < n; i++) {
      if (b[i] > kiru) {
        nageru += b[i];
        ncnt++;
      }
    }
    h -= nageru;
    out << ceill((long double)h / kiru) + ncnt << '\n';
  }
};
void solve(std::istream& in, std::ostream& out) {
  out << std::setprecision(12);
  Solution solution;
  solution.solve(in, out);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  istream& in = cin;
  ostream& out = cout;
  solve(in, out);
  return 0;
}
