#include <bits/stdc++.h>
using namespace std;
long long B[100100];
int main() {
  int N;
  cin >> N;
  long long H;
  cin >> H;
  long long maxa = -1;
  for (int i = 0; i < N; i++) {
    long long a, b;
    cin >> a >> b;
    B[i] = b;
    maxa = max(maxa, a);
  }
  sort(B, B + N);
  int idx = upper_bound(B, B + N, maxa) - B;
  long long ans = 0;
  for (; idx < N; idx++) {
    ans += 1;
    H -= B[idx];
    if (H <= 0) goto fin;
  }
  ans += H / maxa + (H % maxa != 0);
fin:
  cout << ans << endl;
  return 0;
}
