#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const long long dy[] = {0, 0, 1, -1};
const long long dx[] = {1, -1, 0, 0};
template <class T>
void chmin(T& a, const T& b) {
  a = min(a, b);
}
template <class T>
void chmax(T& a, const T& b) {
  a = max(a, b);
}
pair<long long, long long> d[100000];
signed main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  long long n, h;
  cin >> n >> h;
  for (long long i = 0; i < n; ++i) cin >> d[i].first >> d[i].second;
  sort(d, d + n);
  long long latte = 0, malta = 0;
  for (long long i = 0; i < n; ++i) {
    if (d[n - 1 - i].second > d[n - 1].first) {
      latte += d[n - 1 - i].second;
      ++malta;
      if (latte >= h) {
        cout << malta << endl;
        return 0;
      }
    }
  }
  h -= latte;
  malta += h / d[n - 1].first + ((h % d[n - 1].first) ? 1 : 0);
  cout << malta << endl;
  return 0;
}
