#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  scanf("%d%d", &N, &H);
  priority_queue<int> Qb;
  int amax = 0;
  int count = 0;
  int D = 0;
  for (int i = 0; i < (N); ++i) {
    int a, b;
    scanf("%d%d", &a, &b);
    amax = max(a, amax);
    Qb.push(b);
  }
  while (!Qb.empty()) {
    int q = Qb.top();
    Qb.pop();
    if (amax <= q) {
      count++;
      D += q;
    } else {
      break;
    }
  }
  if (H <= D) {
    printf("%d\n", count);
    return 0;
  }
  if ((H - D) % amax == 0) {
    count += (H - D) / amax;
  } else {
    count += ((H - D) / amax) + 1;
  }
  printf("%d\n", count);
  return 0;
}
