#include <bits/stdc++.h>
using namespace std;
bool check(pair<long long int, long long int> p1,
           pair<long long int, long long int> p2) {
  return (p1.first > p2.first) ||
         (p1.first == p2.first && p1.second < p2.second);
}
int main() {
  long long int n, h;
  cin >> n >> h;
  pair<long long int, long long int> p[n];
  long long int a, b;
  for (int i = 0; i < n; i++) {
    cin >> a >> b;
    p[i].first = a;
    p[i].second = b;
  }
  sort(p, p + n, check);
  long long int count = 0;
  for (int i = n - 1; i > 0; i--) {
    if (h <= 0) break;
    if (p[i].second >= p[0].first) {
      h -= p[i].second;
      count += 1;
    }
  }
  a = p[0].first;
  b = p[0].second;
  if (h > 0) {
    long long int temp = 1;
    if (h - b > 0) {
      temp += (h - b) / a;
      if ((h - b) % a > 0) temp += 1;
    }
    count += min(temp, (h / a + ((h % a) > 0 ? 1 : 0)));
  }
  cout << count;
  return 0;
}
