#include <bits/stdc++.h>
using namespace std;
struct knf {
  int k, f;
} a[100001];
int n, h, cmp(knf, knf), p, q, ans;
int main() {
  scanf("%d%d", &n, &h), n *= 2;
  for (int i = 1; i <= n; i += 2)
    scanf("%d%d", &p, &q), a[i].k = p, a[i].f = 0, a[i + 1].k = q,
                           a[i + 1].f = 1;
  sort(a + 1, a + n + 1, cmp);
  for (int i = 1; h > 0; i++)
    if (a[i].f)
      h -= a[i].k, ans++;
    else
      ans += (h - 1) / a[i].k + 1, h = 0;
  printf("%d\n", ans), exit(0);
}
int cmp(knf o, knf u) { return o.k > u.k; }
