#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  long long n, h, a, b, ans = 0, cnt = 0;
  cin >> n >> h;
  vector<long long> a_1, b_1;
  for (long long i = 0; i < n; i++) {
    cin >> a >> b;
    a_1.push_back(a);
    b_1.push_back(b);
  }
  sort(b_1.begin(), b_1.end(), greater<long long>());
  for (long long i = 0; i < h; i++) {
    if (b_1[i] >= *max_element(a_1.begin(), a_1.end())) {
      cnt += b_1[i];
      ans++;
    }
    if (b_1[i] < *max_element(a_1.begin(), a_1.end())) {
      break;
    }
    if (cnt >= h) {
      cout << ans << endl;
      return 0;
    }
  }
  if ((h - cnt) % *max_element(a_1.begin(), a_1.end()) != 0) {
    cout << ans + (h - cnt) / *max_element(a_1.begin(), a_1.end()) + 1 << endl;
  } else
    cout << ans + (h - cnt) / *max_element(a_1.begin(), a_1.end()) << endl;
  return 0;
}
