#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e9;
long long gcd(long long a, long long b) {
  if (a < b) swap(a, b);
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long lcm(long long a, long long b) {
  long long g = gcd(a, b);
  return a / g * b;
}
long long factorial(long long n) {
  long long t = 1;
  for (long long(i) = 1; (i) <= (n); ++(i)) t *= i;
  return t;
}
long long combinations(long long n, long long k) {
  long long r = 1;
  for (long long(i) = 1; (i) <= (k); ++(i)) r = r * n-- / i;
  return r;
}
int main() {
  long long n, h, ans = 0, amax = 0;
  cin >> n >> h;
  vector<long long> b(n);
  for (long long(i) = 0; (i) < (n); ++(i)) {
    long long a;
    cin >> a >> b[i];
    amax = max(amax, a);
  }
  for (long long(i) = 0; (i) < (n); ++(i)) {
    if (b[i] > amax && h > 0) {
      ++ans;
      h -= b[i];
    }
  }
  ans += (h + amax - 1) / amax;
  cout << (ans) << endl;
  return 0;
}
