#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(0);
  ll N, H;
  cin >> N >> H;
  vector<ll> a(N), b(N);
  for (ll i = 0; i < N; i++) cin >> a[i] >> b[i];
  ll max_a = *max_element(a.begin(), a.end());
  ll ans = 0;
  sort(b.begin(), b.end());
  bool flg = true;
  for (ll i = N - 1; i >= 0; i--) {
    if (b[i] < max_a) break;
    H -= b[i];
    ans++;
    if (H <= 0) {
      flg = false;
      break;
    }
  }
  ans += H / max_a + (flg && H % max_a != 0);
  cout << ans;
  return 0;
}
