#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, h, ans = 0, a, b;
  cin >> n >> h;
  vector<long long> A(n), B(n);
  for (long long i = 0; i < (n); i++) {
    cin >> A[i] >> B[i];
  }
  sort(A.begin(), A.end());
  sort(B.begin(), B.end());
  auto itr = upper_bound(B.begin(), B.end(), A[n - 1]);
  ans = distance(itr, B.end());
  for (itr; itr != B.end(); itr++) {
    h -= *itr;
  }
  if (h > 0) {
    if (h % A[n - 1]) {
      ans += h / A[n - 1] + 1;
    } else {
      ans += h / A[n - 1];
    }
  }
  cout << ans << endl;
  return 0;
}
