#include <bits/stdc++.h>
using namespace std;
const long long N = 400010;
inline long long read() {
  long long p = 0;
  long long f = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    p = p * 10 + ch - '0';
    ch = getchar();
  }
  return p * f;
}
int n, h;
int a[N];
int b[N];
bool cmp(const int &x, const int &y) { return x > y; }
int main() {
  n = read();
  h = read();
  int mx = 0;
  for (int i = 1; i <= n; i++) a[i] = read(), b[i] = read(), mx = max(mx, a[i]);
  sort(b + 1, b + n + 1, cmp);
  int s = 0;
  for (int i = 1; i <= n; i++) {
    if (b[i] >= mx) s++, h -= b[i];
    if (h < 0) {
      printf("%d\n", s);
      return 0;
    }
  }
  if (h % mx == 0)
    s += h / mx;
  else
    s += h / mx + 1;
  return printf("%d\n", s), 0;
}
