#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr long long MOD = 1000000007;
constexpr long long INF = 1LL << 60;
const long double PI = acosl(-1.0);
constexpr long double EPS = 1e-11;
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
int main() {
  ll n, h;
  cin >> n >> h;
  vector<ll> a(n), b(n);
  for (ll i = 0; i < n; i++) cin >> a[i] >> b[i];
  sort(a.begin(), a.end(), greater<ll>());
  sort(b.begin(), b.end(), greater<ll>());
  ll cnt = 0;
  while (!b.empty() and b[0] >= a[0]) {
    cnt++;
    h -= b[0];
    b.erase(b.begin());
  }
  cnt += max(0LL, (h + a[0] - 1)) / a[0];
  cout << cnt << endl;
}
