#include <bits/stdc++.h>
using namespace std;
template <class T>
inline string toString(T x) {
  ostringstream sout;
  sout << x;
  return sout.str();
}
int main() {
  long long N, H;
  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(), greater<long long>());
  int res = 0;
  long long sum = 0;
  for (long long i = (0); i < (N); ++i)
    if (b[i] >= a[0] && sum < H) {
      sum += b[i];
      res++;
    }
  if (sum < H) {
    res += (H - sum) / a[0] + ((H - sum) % a[0] != 0);
  }
  cout << res << endl;
  return 0;
}
