#include <bits/stdc++.h>
using namespace std;
int N, mxs = 0;
long long res, H, t = 0;
vector<int> S;
int main() {
  cin >> N >> H;
  for (int i = 0; i < N; i++) {
    int a, b;
    cin >> a >> b;
    mxs = max(a, mxs);
    S.push_back(b);
  }
  sort(S.begin(), S.end(), greater<int>());
  res = H / mxs + (H % mxs ? 1 : 0);
  for (int i = 1; i <= N; i++) {
    t += S[i - 1];
    if (H <= t) res = min(res, 0LL + i);
    res = min(res, (H - t) / mxs + ((H - t) % mxs ? 1 : 0) + i);
  }
  cout << res << endl;
}
