#include <bits/stdc++.h>
using namespace std;
using PLL = pair<long long, long long>;
int main() {
  int n;
  long long h;
  cin >> n >> h;
  long long a, b;
  vector<PLL> katanas(n);
  auto favorite = make_pair(-1LL, -1LL);
  for (int i = 0; i < n; i++) {
    cin >> a >> b;
    auto tmp = make_pair(a, b);
    katanas[i] = tmp;
    if (a > favorite.first || (a == favorite.first && b < favorite.second)) {
      favorite = tmp;
    }
  }
  sort(katanas.begin(), katanas.end(), [](PLL &x, PLL &y) {
    if (x.second == y.second) {
      return x.first < y.first;
    } else {
      return x.second > y.second;
    }
  });
  int ans = 0;
  for (auto p : katanas) {
    if (p == favorite) {
      if (favorite.second > favorite.first) {
        ans++;
        h -= favorite.second;
        if (h < 0) {
          break;
        }
      }
      ans += (h + favorite.first - 1) / favorite.first;
      break;
    }
    if (favorite.first >= p.second) {
      continue;
    } else {
      ans++;
      h -= p.second;
      if (h <= 0) {
        break;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
