#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
using P = pair<ll, ll>;
const ll MOD = 1000000007;
const long long dx[8] = {1, 0, -1, 0, 1, -1, -1, 1};
const long long dy[8] = {0, 1, 0, -1, 1, 1, -1, -1};
void solve() {
  ll n, h;
  cin >> n >> h;
  vector<ll> a(n), b(n);
  for (long long i = 0; i < (n); ++i) cin >> a[i] >> b[i];
  sort((a).begin(), (a).end());
  sort((b).begin(), (b).end());
  ll ans = 0, bi = n - 1;
  while (h > 0) {
    if (b[bi] > a[n - 1]) {
      h -= b[bi];
      bi--;
    } else {
      ans += ((h + a[n - 1] - 1) / (a[n - 1]));
      break;
    }
    ans++;
  }
  std::cout << (ans) << "\n";
}
signed main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  srand((unsigned)time(NULL));
  cout << fixed << setprecision(12);
  solve();
}
