#include <bits/stdc++.h>
using ll = long long;
using namespace std;
int main() {
  int n, h;
  cin >> n >> h;
  vector<int> a(n), b(n);
  int maxNum = 0;
  ll ans = n;
  ll hit = 0;
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
    maxNum = (maxNum < a[i]) ? a[i] : maxNum;
  }
  for (int i = 0; i < n; i++) {
    if (b[i] < maxNum) {
      ans--;
      continue;
    }
    hit += b[i];
  }
  if (hit >= h) {
    sort(b.begin(), b.end());
    for (int i = 0; i < n; i++) {
      hit -= b[i];
      if (hit < h) break;
      ans--;
    }
    cout << ans << endl;
  } else {
    ll nokori = h - hit;
    ans += int(nokori / maxNum);
    ans += ((double)nokori / maxNum - int(nokori / maxNum) == 0) ? 0 : 1;
    cout << ans << endl;
  }
}
