#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, h;
  cin >> n >> h;
  vector<long long> a(n), b(n), c, cnt;
  for (long long i = 0; i < (n); ++i) cin >> a[i] >> b[i];
  sort(b.begin(), b.end());
  reverse(b.begin(), b.end());
  for (long long i = 0; i < (n); ++i) {
    c.push_back(max(h - accumulate(b.begin(), b.begin() + (i + 1), 0LL), 0LL));
  }
  long long ma = *max_element(a.begin(), a.end());
  for (long long i = 0; i < (n); ++i) {
    cnt.push_back((i + 1) + ceil((double)c[i] / (double)ma));
  }
  cout << *min_element(cnt.begin(), cnt.end()) << endl;
}
