#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  cin >> N >> H;
  int a[N], b[N];
  for (int i = 0; i < (N); i++) {
    cin >> a[i] >> b[i];
  }
  sort(a, a + N);
  sort(b, b + N);
  int max_a = a[N - 1];
  int cnt_b = N - (lower_bound(b, b + N, max_a) - b);
  for (int i = N - 1; i >= N - cnt_b; i--) {
    H -= b[i];
  }
  long long int retval = cnt_b + (H + (max_a - 1ll)) / max_a;
  cout << retval << endl;
  return 0;
}
