#include <bits/stdc++.h>
using namespace std;
int n, h, t;
struct Weapon {
  int a, b;
} w[100001];
bool Cmpare(Weapon a, Weapon b) { return a.b < b.b; }
bool CMpare(Weapon a, Weapon b) { return a.a < b.a; }
int main() {
  scanf("%d%d", &n, &h);
  int am = 0, bm = 0;
  for (int i = 1; i <= n; i++) {
    scanf("%d%d", &w[i].a, &w[i].b);
    am = max(am, w[i].a);
    bm = max(bm, w[i].b);
  }
  sort(w + 1, w + 1 + n, Cmpare);
  for (int i = n; i >= 1; i--) {
    if (h < 0) break;
    if (w[i].b > am) h -= w[i].b, t++;
  }
  if (h > 0) t += h / am;
  cout << t;
  return 0;
}
