#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b != 0 ? gcd(b, a % b) : a; }
long long lcm(long long a, long long b) { return a * b / gcd(a, b); }
int main() {
  long long n, h;
  cin >> n >> h;
  vector<long long> a(n), b(n);
  for (long long i = 0; i < (long long)(n); i++) cin >> a[i] >> b[i];
  sort((a).begin(), (a).end(), greater<long long>());
  sort((b).begin(), (b).end(), greater<long long>());
  long long sum = 0, cnt = 0, now = 0;
  while (1) {
    if (b[now] >= a[0]) {
      sum += b[now];
      now++;
      cnt++;
    } else {
      cnt += (h - sum + a[0] - 1) / a[0];
      break;
    }
  }
  cout << cnt << endl;
  return 0;
}
