#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, h, slash = 0, swoosh = 0, dmg = 0, count = 0, ans = 0;
  cin >> n >> h;
  vector<pair<long long int, long long int> > v, q;
  for (long long int i = 0; i < n; i++) {
    long long int x, y;
    cin >> x >> y;
    v.push_back(make_pair(x, y));
    q.push_back(make_pair(y, x));
  }
  sort(v.begin(), v.end());
  sort(q.begin(), q.end());
  slash = v[n - 1].first, swoosh = v[n - 1].second;
  for (int i = n - 1; i >= 0; i--) {
    if (v[i].first == slash) {
      if (v[i].second < swoosh) swoosh = v[i].second;
    } else
      break;
  }
  for (int i = n - 1; i >= 0; i--) {
    if (ans <= h)
      if (q[i].first > swoosh)
        ans += q[i].first, count++;
      else
        break;
  }
  if (ans < h) {
    ans += swoosh, count++;
  }
  if (ans < h) {
    if ((h - ans) % slash == 0)
      count += (h - ans) / slash;
    else if ((h - ans) % slash > 0)
      count += (h - ans) / slash + 1;
  }
  cout << count;
}
