#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, h;
  cin >> n >> h;
  vector<long long int> a, b;
  a.resize(n);
  b.resize(n);
  for (int i = 0; i < n; i++) cin >> a[i] >> b[i];
  long long int maxA = 0;
  sort(b.begin(), b.end(), greater<long long int>());
  for (int i = 0; i < n; i++) maxA = max(maxA, a[i]);
  long long int sum = 0;
  long long int cnt = 0;
  for (long long int i = 0; i < n; i++) {
    if (0)
      if (sum >= h) break;
    if (maxA >= b[i]) break;
    sum += b[i];
    cnt++;
  }
  if (sum < h) {
    long long int left = h - sum;
    if (left % maxA) cnt++;
    cnt += (left / maxA);
  }
  cout << cnt << endl;
  return 0;
}
