#include <bits/stdc++.h>
using namespace std;
long long cnt = 0;
int N, H, maxA, tmpB, tmp;
vector<int> a, b;
void solve() {
  maxA = a[N - 1];
  for (int i = 0, i_len = (N); i < i_len; ++i) {
    tmpB = b[N - 1 - i];
    if (tmpB > maxA) {
      H -= tmpB;
      cnt += 1;
    } else
      break;
  }
  if (H > 0) cnt += (H + maxA - 1) / maxA;
  cout << cnt << endl;
}
int main() {
  cin >> N >> H;
  a.resize(N);
  b.resize(N);
  for (int i = 0, i_len = (N); i < i_len; ++i) {
    cin >> a[i] >> b[i];
  }
  sort(a.begin(), a.end());
  sort(b.begin(), b.end());
  solve();
}
