#include <bits/stdc++.h>
int main() {
  int N;
  int H;
  int a[100000];
  int b[100000];
  std::cin >> N >> H;
  int maxAtk = 0;
  int Atacked = 0;
  for (int i = 0; i < N; i++) {
    std::cin >> a[i] >> b[i];
    if (maxAtk < a[i]) maxAtk = a[i];
  }
  std::sort(a, a + N, std::greater<int>());
  for (int i = 0; i < N; i++) {
    if (H <= 0) break;
    if (b[i] > maxAtk) {
      H -= b[i];
      Atacked++;
    }
  }
  Atacked += ceil((double)H / maxAtk);
  std::cout << Atacked;
  return 0;
}
