#include <bits/stdc++.h>
using namespace std;
int main() {
  long long N, H;
  cin >> N >> H;
  vector<long long> a(N);
  vector<long long> b(N);
  for (int i = 0; i < (int)(N); i++) {
    cin >> a[i];
    cin >> b[i];
  }
  vector<pair<long long, long long>> p(N);
  for (int i = 0; i < (int)(N); i++) {
    p[i].first = a[i];
    p[i].second = b[i];
  }
  sort(p.begin(), p.end());
  reverse(p.begin(), p.end());
  sort(b.begin(), b.end());
  reverse(b.begin(), b.end());
  long long aMAX = p[0].first;
  long long bm = p[0].second;
  long long count = 0;
  int i = 0;
  while (H > 0 && b[i] >= aMAX) {
    H -= b[i];
    count++;
    i++;
  }
  if (H > 0) {
    count += H / aMAX;
  }
  cout << count << endl;
}
