#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
int main() {
  int N, H;
  cin >> N >> H;
  vi AB;
  int maxA = 0;
  for (int i = (0); i < (N); ++i) {
    int a, b;
    cin >> a >> b;
    AB.push_back(a);
    AB.push_back(b);
    maxA = max(maxA, a);
  }
  sort((AB).rbegin(), (AB).rend());
  int count = 0;
  for (ll i = 0; i < AB.size() && H > 0 && AB[i] > maxA; ++i) {
    H -= AB[i];
    count++;
  }
  count += (H + maxA - 1) / maxA;
  cout << count << endl;
}
