#include <bits/stdc++.h>
using namespace std;
const long long INF =
    sizeof(long long) == sizeof(long long) ? 1000000000000000000LL : 1000000000;
const long long MOD = 1000000007;
const long double EPS = 1e-8;
using vi = vector<long long>;
using vvi = vector<vi>;
signed main() {
  long long n, h;
  cin >> n >> h;
  vi a(n), b(n);
  long long macsA = -1;
  for (auto i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
    macsA = max(macsA, a[i]);
  }
  sort((b).begin(), (b).end());
  auto ub = lower_bound((b).begin(), (b).end(), macsA);
  long long sum = 0;
  for (auto itr = ub; itr != b.end(); itr++) {
    sum += *itr;
  }
  if (h - sum <= 0)
    cout << (b.end() - ub) << endl;
  else
    cout << (b.end() - ub) + (h - sum) / macsA + ((h - sum) % macsA != 0)
         << endl;
}
