#include <bits/stdc++.h>
using namespace std;
int dy[] = {0, 0, 1, -1, 0};
int dx[] = {1, -1, 0, 0, 0};
long long n, h;
long long a[100005], b[100005];
long long sum_b = 0;
long long max_a = 0;
long long sum = 0;
long long ans = 0;
int main() {
  cin >> n;
  cin >> h;
  for (long long i = 0; i < n; i++) {
    cin >> a[i] >> b[i];
    max_a = max(max_a, a[i]);
  }
  sort(b, b + n);
  ;
  for (long long i = n - 1; i >= 0; i--) {
    sum += b[i];
    ans++;
    if (sum >= h) break;
  }
  if (sum >= h) {
    cout << ans << endl;
    return 0;
  }
  while (sum < h) {
    sum += max_a;
    ans++;
  }
  cout << ans << endl;
}
