#include <bits/stdc++.h>
using namespace std;
int mod(long long a) {
  int c = a % 1000000007;
  if (c >= 0)
    return c;
  else
    return c + 1000000007;
}
int main() {
  long long n, h;
  cin >> n >> h;
  long long a[1 + n], b[1 + n];
  for (long long i = 1; i <= n; i++) cin >> a[i] >> b[i];
  long long amax = 0, maxi = 0;
  for (long long i = 1; i <= n; i++) {
    if (a[i] > amax) amax = a[i], maxi = i;
  }
  long long bmax = b[maxi];
  long long c[n];
  for (long long i = 1; i <= maxi - 1; i++) c[i] = b[i];
  for (long long i = maxi; i <= n - 1; i++) c[i] = b[i + 1];
  sort(c + 1, c + n);
  long long hit = 0;
  long long i = n - 1;
  for (i = n - 1; i >= 1; i--) {
    if (c[i] >= bmax) {
      h -= c[i];
      hit++;
    }
    if (h <= 0) break;
  }
  if (h > 0) {
    h -= bmax;
    hit++;
  }
  if (h > 0) {
    for (long long j = i; j >= 1; j--) {
      if (c[i] >= amax) {
        h -= c[i];
        hit++;
      }
      if (h <= 0) break;
    }
  }
  if (h > 0) {
    hit += ((h - 1) / amax) + 1;
  }
  cout << hit << endl;
  return 0;
}
