#include <bits/stdc++.h>
using namespace std;
const long long INF = 1 << 30;
const long long MOD = 1000000007;
int main() {
  int n;
  long long h;
  cin >> n >> h;
  long long a = -1;
  vector<long long> b(n);
  for (int i = 0; i < n; ++i) {
    long long c;
    cin >> c >> b[i];
    a = max(a, c);
  }
  for (int i = 0; i < n; ++i) {
    if (a > b[i]) {
      b[i] = -INF;
      n--;
    }
  }
  sort(b.begin(), b.end(), greater<long long>());
  long long ans = 0;
  int i = 0;
  while (i < n && h > 0) {
    ans++;
    h -= b[i];
    i++;
  }
  if (h > 0) ans += (h + a - 1) / a;
  cout << ans << endl;
}
