#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;
using vs = vector<string>;
using vll = vector<ll>;
using vpii = vector<pii>;
int isP(int n) {
  if (n <= 1) return 0;
  for (int i = (2); i <= ((int)sqrt(n)); i++) {
    if (n % i == 0) return 0;
  }
  return 1;
}
int main() {
  int N, H, amax = 0, cnt = 0;
  cin >> N >> H;
  vi a(N), b(N);
  for (int i = (0); i <= (N - 1); i++) {
    cin >> a[i] >> b[i];
  }
  sort((a).rbegin(), (a).rend());
  ;
  sort((b).rbegin(), (b).rend());
  ;
  amax = a[0];
  for (int i = (0); i <= (N - 1); i++) {
    if (b[i] >= amax) {
      cnt++;
      H -= b[i];
      if (H <= 0) cout << cnt << endl;
    }
  }
  if (H > 0) {
    cnt += (int)(H / amax);
    if (H % amax != 0) cnt++;
    cout << cnt << endl;
  }
  return 0;
}
