#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  long long h, count = 0;
  cin >> n >> h;
  long long max_a = 0;
  vector<long long> B(n);
  for (int i = 0; i < n; i++) {
    long long a, b;
    cin >> a >> b;
    max_a = max(max_a, a);
    B[i] = b;
  }
  sort(B.begin(), B.end());
  int index = 0;
  for (int i = 0; i < n; i++) {
    if (B[i] > max_a) {
      index = i;
      break;
    }
  }
  long long sum = 0;
  for (int i = n - 1; i >= index; i--) {
    sum += B[i];
    if (sum >= h) {
      cout << n - i << endl;
      return 0;
    }
  };
  count += n - index;
  count += ceil((double)(h - sum) / max_a);
  cout << count << endl;
  return 0;
}
