#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
int main() {
  int n;
  long long h;
  cin >> n >> h;
  vector<pair<long long, long long>> vp;
  for (int i = int(0); i < int(n); ++i) {
    long long a, b;
    cin >> a >> b;
    vp.push_back(make_pair(a, b));
  }
  sort((vp).begin(), (vp).end());
  long long max_a = vp[n - 1].first;
  long long thresh = max(vp[n - 1].first, vp[n - 1].second);
  long long cnt = 0LL;
  for (int j = 0; j < n - 1; ++j) {
    if (h <= thresh) break;
    if (vp[j].second >= max_a) {
      h -= vp[j].second;
      ++cnt;
    }
  }
  if (h > 0) {
    if (thresh > max_a) {
      ++cnt;
      h -= thresh;
      if (h > 0) {
        cnt += h / max_a;
        if (h % max_a != 0) ++cnt;
      }
    } else {
      cnt += h / max_a;
      if (h % max_a != 0) ++cnt;
    }
  }
  cout << cnt << endl;
  return 0;
}
