#include <bits/stdc++.h>
using namespace std;
using Int = long long;
Int solve() {
  Int N, H;
  cin >> N >> H;
  vector<Int> a(N), b(N);
  for (Int i = 0; i < N; i++) cin >> a[i] >> b[i];
  sort(b.rbegin(), b.rend());
  auto ma = *max_element(a.begin(), a.end());
  Int ans = 0, damage = 0;
  for (Int i = 0; i < b.size(); i++) {
    if (damage >= H) return ans;
    if (b[i] < ma) break;
    ans++;
    damage += b[i];
  }
  ans += (H - damage) / ma + ((H - damage) % ma != 0);
  return ans;
}
int main() { cout << solve() << endl; }
