#include <bits/stdc++.h>
using ulong = unsigned long;
using ll = long long;
using ull = unsigned long long;
using namespace std;
int main() {
  cin.tie(nullptr);
  ios::sync_with_stdio(false);
  ll n, h;
  cin >> n >> h;
  ll aMax = 0;
  multiset<ll> b;
  for (ll i = 0; i < n; i++) {
    ll a_, b_;
    cin >> a_ >> b_;
    aMax = max(aMax, a_);
    b.insert(b_);
  }
  ll cnt = 0;
  for (auto it = b.rbegin(); it != b.rend(); ++it) {
    if (*it < aMax) continue;
    h -= *it;
    cnt++;
    if (h < 0) {
      cout << cnt;
      return 0;
    }
  }
  cnt += h / aMax;
  if (h % aMax != 0) cnt++;
  cout << cnt;
  return 0;
}
