#include <bits/stdc++.h>
using namespace std;
int main() {
  long long N, H;
  cin >> N >> H;
  vector<long long> a(N), b(N);
  for (int(i) = 0; (i) < (int)(N); (i)++) cin >> a[i] >> b[i];
  sort(a.begin(), a.end());
  sort(b.begin(), b.end());
  reverse(b.begin(), b.end());
  long long max_a = a.back();
  long long ans = 1e18;
  long long sum = 0;
  for (int(i) = 0; (i) < (int)(N + 1); (i)++) {
    long long anst = i;
    long long left_h = H - sum;
    anst += left_h / max_a + (left_h % max_a > 0 ? 1 : 0);
    ans = min(ans, anst);
    if (i < N) sum += b[i];
  }
  cout << ans << endl;
  return 0;
}
