#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;
const int mod = 1e9 + 7;
const long double pi = 3.141592653589793238462643383279502884197;
const long double eps = 1e-7;
int main() {
  int num = 0;
  int N, H;
  cin >> N >> H;
  vector<pii> ab(N);
  int max_a = 0, max_ai;
  for (int i = 0; i < (N); i++) {
    cin >> ab[i].first >> ab[i].second;
    if (max_a < ab[i].first) {
      max_a = ab[i].first;
      max_ai = i;
    }
  }
  sort(ab.begin(), ab.end(), [](const pii x, const pii y) {
    if (x.second == y.second) {
      return x.first < y.first;
    } else {
      return x.second > y.second;
    }
  });
  for (int i = 0; i < (N); i++) {
    if (max_a < ab[i].second) {
      num++;
      H -= ab[i].second;
      if (H <= 0) break;
    } else
      break;
  }
  if (H <= 0)
    cout << num << endl;
  else {
    H -= ab[max_ai].second;
    num++;
    if (H <= 0)
      cout << num << endl;
    else {
      cout << num + (H + max_a - 1) / max_a << endl;
    }
  }
  return 0;
}
