#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)
using namespace std;
using ll = long long;

struct s {
  int a, b, id;
};

int main() {
  int N, H;
  cin >> N >> H;

  vector<s> v;
  rep(i, N) {
    int a, b;
    cin >> a >> b;
    v.push_back(s{a, b, i});
  }

  sort(v.begin(), v.end(),
       [](auto x, auto y) { return x.a == y.a ? x.b < y.b : x.a > y.a; });

  auto mx = v.front();

  sort(v.begin(), v.end(),
       [](auto x, auto y) { return x.b == y.b ? x.a < y.a : x.b > y.b; });

  int cnt = 0;
  rep(i, N) {
    if (v[i].id == mx.id)
      continue;
    if (v[i].b < mx.b || H <= 0)
      break;
    H -= v[i].b;
    ++cnt;
  }

  if (H > 0)
    H -= mx.b, ++cnt;
  cnt += ll(H + mx.a - 1) / mx.a;

  cout << cnt << endl;
}