#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5, L = 14, OO = 0x3f3f3f3f;
const unsigned long long M = 10;
const double ESP = 1e-8;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  unsigned long long n, h, a, b, x, y;
  cin >> n >> h;
  a = 0, b = 0;
  int A[n], B[N];
  for (int i = 0; i < n; i++) {
    cin >> A[i] >> B[i];
  }
  int cnt = 0;
  sort(A, A + n, greater<unsigned long long>());
  sort(B, B + n, greater<unsigned long long>());
  a = A[0];
  for (int i = 0; i < n; i++) {
    if (B[i] > a) {
      b += B[i];
      cnt++;
    } else
      break;
  }
  unsigned long long lo = 0, hi = 999999998, mid;
  while (lo < hi) {
    mid = (lo + hi) / 2LL;
    if ((a * mid) + b >= h) {
      hi = mid;
    } else {
      lo = mid + 1;
    }
  }
  cout << hi + cnt << endl;
}
