#include <bits/stdc++.h>
using namespace std;
int n, h;
vector<int> th;
int maxa, maxai;
int a[100005];
int b[100005];
int ans;
int main() {
  cin >> n >> h;
  for (int i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
    if (maxa < a[i]) {
      maxa = a[i];
      maxai = i;
    }
  }
  for (int i = 0; i < n; i++) {
    if (maxai != i && maxa < b[i]) th.push_back(b[i]);
  }
  sort(th.begin(), th.end(), greater<int>());
  for (int i = 0; i <= th.size(); i++) {
    if (h <= b[maxai]) {
      cout << ans + 1 << "ij" << endl;
      return 0;
    }
    if (i < th.size()) {
      h -= th[i];
      ans++;
    }
  }
  int tmp = h / maxa;
  while (h <= (tmp - 1) * maxa + b[maxai]) tmp--;
  cout << ans + tmp + 1 << endl;
}
