#include <bits/stdc++.h>
using namespace std;
int main() {
  long N, H, Tdamage = 0;
  double slash;
  cin >> N >> H;
  vector<int> A(N), B(N);
  for (size_t i = 0; i < N; i++) {
    cin >> A.at(i) >> B.at(i);
  }
  sort(A.begin(), A.end(), greater<int>());
  sort(B.begin(), B.end(), greater<int>());
  int cnt = 0;
  while (cnt < N && B.at(cnt) > A.at(0)) {
    Tdamage += B.at(cnt);
    cnt++;
  }
  slash = ceil(((H - Tdamage) / double(A.at(0))));
  cout << long(ceil(cnt + slash));
}
