#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll inf = 1001001001;
int main() {
  int n, h;
  cin >> n >> h;
  vector<ll> a(n);
  vector<ll> b(n);
  for (int i = 0; i < n; ++i) {
    cin >> a[i] >> b[i];
  }
  sort(a.begin(), a.end(), greater<int>());
  sort(b.begin(), b.end(), greater<int>());
  int cnt = 0;
  ll damage = 0;
  for (int i = 0; i < n; ++i) {
    if (a[0] > b[i]) break;
    damage += b[i];
    cnt++;
    if (damage > h) break;
  }
  if (damage > h) {
    cout << cnt << endl;
  } else if ((h - damage) % a[0] == 0)
    cout << cnt + (h - damage) / a[0] << endl;
  else {
    cout << cnt + ((h - damage) / a[0]) + 1 << endl;
  }
}
