#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
int main() {
  ll n;
  ll h;
  cin >> n >> h;
  vector<pair<ll, ll>> a(n);
  for (ll i = 0; i < n; i++) {
    ll x, y;
    cin >> x >> y;
    a[i].first = x, a[i].second = y;
  }
  sort(a.begin(), a.end());
  reverse(a.begin(), a.end());
  for (int i = 1; i < n; i++) {
    if (a[0].first == a[i].first && a[0].second > a[i].second) {
      swap(a[0], a[i]);
    } else {
      break;
    }
  }
  ll ans = 0;
  for (int i = 1; i < n; i++) {
    if (a[i].second > a[0].first) {
      h -= a[i].second;
      ans++;
      if (h <= 0) {
        cout << ans << endl;
        return 0;
      }
    }
  }
  h -= a[0].second;
  ans++;
  if (h <= 0) {
    cout << ans << endl;
    return 0;
  }
  ll x = h / a[0].first;
  h -= a[0].first * x;
  ans += x;
  if (h <= 0) {
    cout << ans << endl;
  } else {
    cout << ans + 1 << endl;
  }
  return 0;
}
