#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const long long longinf = 1LL << 60;
const long long mod = 1e9 + 7;
using namespace std;
int GCD(int a, int b) {
  if (b == 0)
    return a;
  else
    return GCD(b, a % b);
}
int main() {
  long long n, h;
  cin >> n >> h;
  int a[n], b[n];
  for (int i = (int)0; i < (int)n; ++i) {
    cin >> a[i] >> b[i];
  }
  sort(a, a + n);
  sort(b, b + n);
  int ans = 0;
  for (int i = (int)0; i < (int)n; ++i) {
    if (b[i] >= a[n - 1] && h > 0) {
      h -= b[i];
      ans++;
    }
  }
  while (h > 0) {
    h -= a[n - 1];
    ans++;
  }
  cout << ans << endl;
  return 0;
}
