#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  cin >> N >> H;
  vector<int> A(N);
  vector<int> B(N);
  for (int i = 0; i < N; i++) {
    cin >> A[i] >> B[i];
  }
  sort(A.begin(), A.end(), greater<int>());
  sort(B.begin(), B.end(), greater<int>());
  int count = 0;
  for (int i = 0; i < B.size(); i++) {
    if (H <= B[i]) {
      H = 0;
      count++;
      break;
    }
    H -= B[i];
    count++;
  }
  count += ceil((double)H / A[0]);
  cout << count << endl;
  return 0;
}
