#include <bits/stdc++.h>
using namespace std;
long long n, h;
long long a[100000], b[100000];
int main() {
  std::cin >> n >> h;
  for (int i = 0; i < n; i++) {
    std::cin >> a[i] >> b[i];
  }
  sort(a, a + n);
  sort(b, b + n);
  long long result = 0;
  long long a_ijo = distance(b, upper_bound(b, b + n, a[n - 1]));
  if (b[a_ijo] > a[n - 1]) {
    for (int i = a_ijo; i < n; i++) {
      h -= b[i];
      result++;
      if (h <= 0) {
        std::cout << result << std::endl;
        return 0;
      }
    }
  }
  std::cout << (long long)(ceil((h + 0.0) / a[n - 1])) + result << std::endl;
}
