#include <bits/stdc++.h>
using namespace std;
static const double EPS = 1e-5;
int main() {
  long long N, H;
  cin >> N >> H;
  vector<long long> vec_a(N);
  vector<long long> vec_b(N);
  while (N--) {
    long long a, b;
    cin >> a >> b;
    vec_a[N] = a;
    vec_b[N] = b;
  }
  sort(vec_a.begin(), vec_a.end());
  long long max_a = vec_a.back();
  sort(vec_b.begin(), vec_b.end(), std::greater<long long>());
  long long sum_b = 0;
  long long count = 0;
  for (auto b : vec_b) {
    if (b > max_a) {
      sum_b += b;
      count++;
    }
  }
  H -= sum_b;
  count += H / max_a;
  if (H % max_a > 0) count++;
  cout << count << endl;
  return 0;
}
