#include <bits/stdc++.h>
using namespace std;
long long n, h;
bool cmp(pair<long long, long long> tmp1, pair<long long, long long> tmp2) {
  if (tmp1.first > tmp2.first)
    return true;
  else if (tmp1.first < tmp2.first)
    return false;
  else
    return tmp1.second < tmp2.second;
}
void solve() {
  vector<pair<long long, long long> > inp(n);
  long long i, ans = 0;
  for (i = 0; i < n; i++) cin >> inp[i].first >> inp[i].second;
  sort(inp.begin(), inp.end(), cmp);
  for (i = n - 1; i > 0; i--) {
    if (inp[i].second > inp[0].first) {
      h -= inp[i].second;
      ans++;
    }
  }
  if (h > 0) {
    if (h <= inp[0].second)
      ans++;
    else {
      ans++;
      h -= inp[0].second;
      ans += h / inp[0].first;
      if (h % inp[0].first) ans++;
    }
  }
  cout << ans << endl;
}
int main() {
  while (cin >> n >> h) solve();
}
