#include <bits/stdc++.h>
using namespace std;
int main() {
  int64_t n, h;
  cin >> n >> h;
  vector<vector<int64_t>> ad(2 * n, vector<int64_t>(2));
  for (int i = 0; i < n; i++) {
    int64_t x = 0;
    int64_t y = 0;
    cin >> x >> y;
    ad.at(i * 2) = {x, 0};
    ad.at(i * 2 + 1) = {y, 1};
  }
  sort(ad.begin(), ad.end());
  reverse(ad.begin(), ad.end());
  int64_t ans = 0;
  int64_t pos = 0;
  while (h > 0) {
    if (ad.at(pos).at(1) == 1) {
      ans++;
      h -= ad.at(pos).at(0);
      pos++;
    } else
      break;
  }
  ans += ceil((double)h / ad.at(pos).at(0));
  cout << ans << endl;
}
