#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-10;
const long long int LINF = 1001002003004005006ll;
const int INF = 1001001001;
const int mod = 1000000007;
int main() {
  int n, h;
  cin >> n >> h;
  vector<int> a(n), b(n);
  for (int i = 0; i < (n); ++i) {
    cin >> a[i] >> b[i];
  }
  int count = 0;
  int a_max = 0;
  for (int i = 0; i < (n); ++i) {
    a_max = max(a_max, a[i]);
  }
  for (int i = 0; i < (n); ++i) {
    if (a_max < b[i]) {
      h -= b[i];
      count++;
    }
    if (h <= 0) break;
  }
  if (h > 0) {
    count += (h / a_max);
    if (h % a_max != 0) count++;
  }
  cout << count << endl;
  return 0;
}
