#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, h;
  cin >> n >> h;
  long long a[n + 10];
  long long b[n + 10];
  long long mmax = 0;
  long long maxi = 0;
  for (int i = 0; i < n; ++i) {
    cin >> a[i] >> b[i];
    if (a[i] >= mmax) {
      if (a[i] > mmax) {
        mmax = a[i];
        maxi = i;
      } else if (a[i] == mmax && b[i] <= b[maxi]) {
        mmax = a[i];
        maxi = i;
      }
    }
  }
  long long ans = 0;
  for (int i = 0; i < n; ++i) {
    if (i == maxi) continue;
    if (b[i] > mmax) {
      h -= b[i];
      ++ans;
      if (h <= 0) break;
    }
  }
  if (h <= 0) {
    cout << ans << endl;
  } else {
    if (h - b[maxi] <= 0) {
      cout << ans + 1 << endl;
      return 0;
    }
    if (b[maxi] > a[maxi]) {
      ans = (h - b[maxi]) / mmax + ans + 2;
      if ((h - b[maxi]) % mmax == 0) --ans;
    } else {
      ans = (h) / mmax + ans + 1;
      if ((h) % mmax == 0) --ans;
    }
    cout << ans << endl;
  }
  return 0;
}
