#include <bits/stdc++.h>
using namespace std;
constexpr int64_t ll_max = numeric_limits<int64_t>::max();
int main() {
  int64_t N, H;
  cin >> N >> H;
  vector<int64_t> A(N);
  vector<int64_t> B(N);
  for (int64_t i = 0, __i_length = (N); i < __i_length; i++) {
    cin >> A[i] >> B[i];
  }
  int64_t a = -1;
  for (int64_t i = 0, __i_length = (N); i < __i_length; i++)
    if (a < A[i]) a = A[i];
  sort((B).begin(), (B).end());
  auto b = B.rbegin();
  int64_t cnt = 0;
  while (b != B.rend() && 0 < H && a < *b) {
    H -= *(b++);
    cnt++;
  }
  cout << cnt + ((H + a - 1) / a) << endl;
  return 0;
}
