#include <bits/stdc++.h>
using namespace std;
long long N, H;
int main() {
  while (cin >> N >> H) {
    vector<long long> A(N, 0), B(N, 0);
    long long ans = 0;
    for (int i = 0; i < N; i++) {
      cin >> A[i] >> B[i];
    }
    sort(A.begin(), A.end());
    reverse(A.begin(), A.end());
    sort(B.begin(), B.end());
    reverse(B.begin(), B.end());
    long long amax = A[0];
    long long b = B[0];
    long long i = 0;
    while (b >= A[0] && i < N) {
      H -= b;
      ans++;
      i++;
      if (i < N) b = B[i];
    }
    if (H > 0) {
      ans += H / A[0];
      if (H % A[0] != 0) ans++;
    }
    cout << ans << endl;
  }
}
