#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll MOD = (ll)1e9 + 7;
int main(void) {
  int N;
  ll H;
  cin >> N >> H;
  vector<ll> a(N), b(N);
  for (int i = 0; i < int(N); i++) cin >> a[i] >> b[i];
  ll amax = *max_element(a.begin(), a.end());
  int ai = distance(a.begin(), max_element(a.begin(), a.end()));
  ll bai = b[ai];
  b.erase(b.begin() + ai);
  sort((b).begin(), (b).end(), greater<int>());
  ll c = 0;
  for (int i = 0; i < int(b.size()); i++) {
    if (b[i] <= amax) break;
    c++;
    H -= b[i];
    if (H <= 0) {
      cout << c << endl;
      return 0;
    }
  }
  while (H > 0) {
    if (H <= bai) H -= bai;
    H -= amax;
    c++;
  }
  cout << c << endl;
  return 0;
}
