#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using pii = pair<int, int>;
constexpr int MOD = 1e9 + 7;
constexpr int INF = 1e9 + 1;
constexpr ll LLINF = 4 * 1e18 + 1;
int dx[] = {1, 0, -1, 0, 1, -1, -1, 1, 0};
int dy[] = {0, 1, 0, -1, 1, 1, -1, -1, 0};
template <typename T>
T debug(T x) {
  cout << "x"
       << ": " << x << "\n";
  return x;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int n, h;
  cin >> n >> h;
  vi a(n), b(n);
  for (int i = 0; i < (n); ++i) {
    cin >> a[i] >> b[i];
  }
  int mai = 0, maa = a[0], mib = b[0];
  for (int i = 0; i < (n); ++i) {
    if (a[i] >= maa && b[i] < mib) {
      mai = i;
      maa = a[i];
      mib = b[i];
    }
  }
  int bb = b[mai];
  int aa = a[mai];
  b.erase(b.begin() + mai);
  sort(begin(b), end(b), greater<int>());
  int dam = bb;
  int i = 0;
  int ans = 1;
  while (dam < h) {
    if (i < b.size() && b[i] > aa) {
      dam += b[i];
      i++;
    } else {
      ans += (h - dam + aa - 1) / aa;
      break;
    }
    ans++;
  }
  cout << ans << "\n";
  return 0;
}
