#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int N, H;
  int a[100000];
  int b[100000];
  vector<int> z;
  pair<int, int> p[100000];
  int m = 0;
  int c = 0;
  cin >> N >> H;
  for (int i = 0; i < N; i++) {
    cin >> a[i] >> b[i];
    m = max(a[i], m);
    p[i] = make_pair(a[i], b[i]);
  }
  for (int i = 0; i < N; i++) {
    if (p[i].first != m) {
      if (p[i].second > m) {
        c++;
        H -= p[i].second;
        p[i].first = 0;
        p[i].second = 0;
      }
    } else {
      z.push_back(p[i].second);
    }
  }
  sort(z.begin(), z.end());
  for (int i = 0; i < z.size() - 1; i++) {
    c++;
    H -= z[i + 1];
  }
  c += floor(H / m);
  cout << c << endl;
  return 0;
}
