#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline void output(T a, int p = 0) {
  if (p)
    cout << fixed << setprecision(p) << a << "\n";
  else
    cout << a << "\n";
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(0);
  int N, H;
  cin >> N >> H;
  vector<pair<int, int>> A(N);
  for (int i = (int)(0); i < (int)(N); ++i) cin >> A[i].first >> A[i].second;
  sort((A).begin(), (A).end());
  int con = A.back().first;
  vector<int> B(N - 1);
  for (int i = (int)(0); i < (int)(N - 1); ++i) B[i] = A[i].second;
  sort((B).begin(), (B).end());
  reverse((B).begin(), (B).end());
  int ind = 0;
  int ans = 0;
  if (B.size()) {
    while (con < B[ind] && H > 0) {
      H -= B[ind];
      ind++;
      ans++;
    }
  }
  if (H > 0) {
    H -= A.back().second;
    ans++;
  }
  if (H > 0) {
    ans += (H + con - 1) / con;
  }
  output(ans);
  return 0;
}
