#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1.0);
const long long MOD = 1000000007;
const long long INF = 1e10;
const long long MAX_N = 1010;
long long gcd(long long x, long long y) { return y ? gcd(y, x % y) : x; }
long long lcm(long long x, long long y) {
  if (x == 0 || y == 0) return 0;
  return (x / gcd(x, y) * y);
}
long long dp[201010][2];
long long dx[4] = {0, 0, -1, 1};
long long dy[4] = {-1, 1, 0, 0};
int main() {
  long long n, h;
  cin >> n >> h;
  vector<long long> a(n), b(n);
  for (long long i = 0; i < n; ++i) {
    cin >> a[i] >> b[i];
  }
  sort(a.rbegin(), a.rend());
  sort(b.rbegin(), b.rend());
  long long ans = 0;
  for (long long i = 0; i < n; ++i) {
    if (a[0] <= b[i]) {
      ans++;
      h -= b[0];
    }
    if (h <= 0) break;
  }
  if (h > 0) {
    while (h > 0) {
      ans++;
      h -= a[0];
    }
  }
  cout << ans << endl;
  return 0;
}
