#include <bits/stdc++.h>
using namespace std;
struct solve {
  int s;
  bool c = 0;
} M[2000018];
int n, h, ans;
bool cmp(solve x, solve y) { return x.s > y.s; }
int main() {
  scanf("%d%d", &n, &h);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &M[i].s);
    M[i].c = true;
    scanf("%d", &M[i + n].s);
  }
  sort(M + 1, M + 1 + 2 * n, cmp);
  for (int i = 1; i <= 2 * n; i++) {
    if (!M[i].c)
      ans++, h -= M[i].s;
    else {
      ans += h / M[i].s;
      if (h % M[i].s) ans++;
    }
  }
  printf("%d\n", ans);
  return 0;
}
