#include <bits/stdc++.h>
using namespace std;
const static long long MOD = (1e+9) + 7;
long long modpow(long long a, long long n) {
  if (n == 0) return 1;
  if (n % 2 == 1) return a * modpow(a, n - 1) % MOD;
  long long t = modpow(a, n / 2) % MOD;
  return t * t % MOD;
}
int main() {
  long long N, H;
  cin >> N >> H;
  vector<pair<long long, long long> > lst(N);
  for (int i = 0; i < (N); i++) {
    long long a, b;
    cin >> a >> b;
    lst[i] = make_pair(a, b);
  }
  sort(lst.begin(), lst.end());
  long long ans = 0;
  long long max_a = lst[N - 1].first;
  for (int i = 0; i < (N); i++) {
    if (lst[i].second >= max_a) {
      ans++;
      H -= lst[i].second;
    }
    if (H <= 0) {
      cout << ans << endl;
      return 0;
    }
  }
  ans += H / max_a + (H % max_a == 0 ? 0 : 1);
  cout << ans << endl;
  return 0;
}
