#include <bits/stdc++.h>
using namespace std;
bool isPrime[1000002];
int main() {
  int N;
  int H;
  cin >> N >> H;
  vector<int> a(N);
  vector<int> 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 usualAttack = a[0];
  int ans = 0;
  for (int i = 0; i < N && b[i] >= usualAttack; i++) {
    H = H - b[i];
    ans++;
    if (H <= 0) break;
  }
  if (H % usualAttack == 0) {
    ans = ans + (H / usualAttack);
  } else {
    ans = ans + (H / usualAttack) + 1;
  }
  cout << ans << endl;
  return 0;
}
