#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  cin >> N >> H;
  int a, b[N];
  int amax = 0;
  for (int i = 0; i < N; ++i) {
    cin >> a >> b[i];
    amax = max(amax, a);
  }
  sort(b, b + N, greater<int>());
  int ans = 1000000000;
  int work;
  for (int i = 0; i < N; ++i) {
    if (b[i] < amax) {
      if (amax == 1)
        ans = min(ans, i + 1 + H);
      else
        ans = min(ans, i + 1 + (H + 1) / amax);
      break;
    }
    H -= b[i];
    if (H <= 0) {
      ans = min(ans, i + 1);
      break;
    }
    if (amax == 1)
      ans = min(ans, i + 1 + H);
    else
      ans = min(ans, i + 1 + (H + 1) / amax);
  }
  cout << ans << endl;
  return 0;
}
