#include <bits/stdc++.h>
using namespace std;
inline int division_round_up(const int a, const int b) {
  return (a + b - 1) / b;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int n, h;
  vector<int> a, b;
  cin >> n >> h;
  a.resize(n + 10);
  b.resize(n + 10);
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
  }
  const int a_max = *max_element(a.begin(), a.end());
  sort(b.begin(), b.end(), greater<int>());
  int count = 0;
  int sum_b = 0;
  for (int i = 0; i < n && b[i] >= a_max; i++) {
    sum_b += b[i];
    count++;
  }
  if (a_max != 0) count += division_round_up(h - sum_b, a_max);
  cout << count << endl;
  return 0;
}
