#include <bits/stdc++.h>
using namespace std;
using lint = long long;
using P = pair<int, int>;
using vec = vector<int>;
using mat = vector<vector<int>>;
constexpr int MOD = 1000000007;
const int INF = 1 << 30;
int main() {
  int n, h;
  cin >> n >> h;
  vec a(n), b(n);
  for (int i = 0; i < (int)(n); i++) cin >> a[i] >> b[i];
  int mx = 0;
  map<int, int> mp;
  for (int i = 0; i < (int)(n); i++) {
    mx = max(mx, a[i]);
    mp[a[i]]++;
  }
  int res = 0;
  for (int i = 0; i < (int)(n); i++) {
    if (b[i] > mx) {
      h -= b[i];
      res++;
    }
    if (h <= 0) break;
  }
  if (h > 0) {
    res += (h + mx - 1) / mx;
  }
  cout << res << "\n";
  return 0;
}
