#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  cin >> N >> H;
  vector<int> a(N), b(H);
  for (int i = 0; i < (int)(N); i++) cin >> a[i] >> b[i];
  int amax = 0;
  for (int i = 0; i < (int)(N); i++) amax = max(amax, a[i]);
  vector<int> btmp;
  for (int i = 0; i < (int)(N); i++)
    if (b[i] > amax) btmp.push_back(b[i]);
  sort(btmp.rbegin(), btmp.rend());
  long long sum = 0;
  int ret = 0;
  for (int i = 0; i < (int)(btmp.size()); i++) {
    sum += btmp[i];
    if (sum >= H) {
      ret = i + 1;
      break;
    }
  }
  if (ret == 0) {
    ret = btmp.size() + (H - sum + amax - 1) / amax;
  }
  cout << ret << endl;
  return 0;
}
