#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int INF = 1e9;
int main() {
  long long n, h;
  cin >> n >> h;
  long long a[n], b[n];
  long long mxa = -1;
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
    mxa = max(mxa, a[i]);
  }
  sort(b, b + n, greater<long long>());
  long long sum = 0;
  long long ans1 = 0;
  for (int i = 0; i < n; i++) {
    sum += b[i];
    ans1++;
    if (sum >= h) break;
  }
  if (ans1 < h) ans1 = INF;
  long long numovermxa = 0;
  long long sumovermxa = 0;
  for (int i = 0; i < n; i++) {
    if (b[i] >= mxa) {
      numovermxa++;
      sumovermxa += b[i];
    }
  }
  long long ans2 = (h - sumovermxa + mxa - 1) / mxa + numovermxa;
  cout << min(ans1, ans2) << endl;
  return 0;
}
