#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, H;
  cin >> N >> H;
  int a[N], b[N];
  int maxa = 0;
  priority_queue<int> qb;
  for (int i = 0; i < N; i++) {
    cin >> a[i] >> b[i];
    maxa = max(maxa, a[i]);
    qb.push(b[i]);
  }
  int h = H;
  int ans = 0;
  while (h > 0 && qb.top() > maxa) {
    int q = qb.top();
    h = h - q;
    qb.pop();
    ans++;
  }
  if (h > 0) {
    ans = ans + (h + maxa - 1) / maxa;
  }
  cout << ans << endl;
}
