#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MOD = (int)1e9 + 7;
const int INF = (int)1e9 + 1;
const ll LINF = (long long)1e18 + 1;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  ll N, H;
  std::cin >> N >> H;
  vector<ll> s_a(N), s_b(N);
  for (decltype(N) i = 0; i < N; i++) {
    std::cin >> s_a[i] >> s_b[i];
  }
  std::sort(s_b.begin(), s_b.end());
  vector<ll> sum_s_b(1, 0);
  for (decltype(N) i = 0; i < N; i++) {
    sum_s_b.push_back(sum_s_b.back() + s_b[N - i - 1]);
  }
  ll ans = LINF;
  for (decltype(N) i = 0; i < N; i++) {
    ll index =
        N - distance(s_b.begin(), upper_bound(s_b.begin(), s_b.end(), s_a[i]));
    ll div = ceil(abs(H - sum_s_b[index]) / (double)s_a[i]);
    ll cnt = (0 < H - sum_s_b[index] ? div : -div) + index;
    ans = min(ans, cnt);
  }
  std::cout << ans << std::endl;
  return 0;
}
