#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using vl = vector<ll>;
using Graph = vector<vi>;
using P = pair<int, int>;
const int MOD = (int)1e9 + 7;
const int INF = (int)1e9;
const ll LINF = (ll)1e18;
template <class t, class u>
void chmax(t& a, u b) {
  if (a < b) a = b;
}
template <class t, class u>
void chmin(t& a, u b) {
  if (b < a) a = b;
}
int main() {
  int n, h;
  cin >> n >> h;
  vi a(n), b(n);
  for (int i = 0; i < (int)(n); i++) cin >> a[i] >> b[i];
  sort(b.begin(), b.end(), greater<ll>());
  sort(a.begin(), a.end(), greater<ll>());
  ll sum = 0;
  ll cnt = 0;
  int bi = 0;
  while (h > 0 && bi < n) {
    if (b[bi] >= a[0]) {
      h -= b[bi];
      bi++;
      cnt++;
    } else {
      break;
    }
  }
  cnt += (h + a[0] - 1) / a[0];
  cout << cnt << endl;
}
