#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  int a[112345], b[112345];
  int amax = -1;
  scanf("%d%d", &N, &H);
  for (int i = 0; i < (N); i++) {
    scanf("%d%d", &a[i], &b[i]);
    amax = max(a[i], amax);
  }
  int last = 0;
  vector<int> last_list;
  for (int i = 0; i < (N); i++) {
    if (b[i] >= amax) {
      last += b[i];
      last_list.push_back(b[i]);
    }
  }
  if (last >= H) {
    sort(last_list.begin(), last_list.end(), greater<int>());
    int c = 0;
    for (int i = 0; i < (last_list.size()); i++) {
      c += last_list[i];
      if (c >= H) {
        printf("%d\n", i + 1);
        return 0;
      }
    }
  }
  printf("%d\n", (H - last - 1) / amax + 1 + last_list.size());
  return 0;
}
