#include <bits/stdc++.h>
using namespace std;
int main() {
  long long N, H;
  cin >> N >> H;
  vector<long long> A, B;
  for (int i = (0); i < (N); ++i) {
    long long a, b;
    cin >> a >> b;
    A.push_back(a);
    B.push_back(b);
  }
  long long max_a = *max_element((A).begin(), (A).end());
  sort((B).begin(), (B).end());
  long long count = 0;
  for (auto it = lower_bound((B).begin(), (B).end(), max_a); it != B.end();
       ++it) {
    H -= *it;
    ++count;
    if (H < 0) break;
  }
  if (H < 0)
    cout << count << endl;
  else
    cout << count + ((H + max_a - 1) / max_a) << endl;
  return 0;
}
