#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  cin >> N >> H;
  vector<int> a(N);
  priority_queue<int, vector<int>> b;
  for (int i = 0; i < N; i++) {
    int B;
    cin >> a.at(i) >> B;
    b.push(B);
  }
  sort(a.begin(), a.end());
  int maxA = a.at(N - 1);
  int res = 0;
  while (H > 0 && !b.empty() && b.top() > maxA) {
    res++;
    H -= b.top();
    b.pop();
  }
  if (H > 0) {
    res += 1 + H / maxA;
  }
  cout << res << endl;
}
