#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[]) {
  int n, h;
  cin >> n >> h;
  vector<int> a;
  vector<int> b;
  int in_a, in_b;
  int a_max = 0;
  for (int i = 0; i < n; i++) {
    cin >> in_a >> in_b;
    if (a_max < in_a) {
      a_max = in_a;
    }
    a.push_back(in_a);
    b.push_back(in_b);
  }
  sort(b.begin(), b.end());
  int b_num = 0;
  for (int i = n - 1; i >= 0; i--) {
    if (b[i] >= a_max) {
      b_num++;
      h -= b[i];
      if (h <= 0) {
        break;
      }
    } else {
      break;
    }
  }
  if (h <= 0) {
    cout << b_num << endl;
  } else {
    cout << b_num + (int)(((double)(h) / a_max) + 0.9) << endl;
  }
  return 0;
}
