#include <bits/stdc++.h>
using namespace std;
const long long zero = 0;
const long long INF = 10000000000000000;
const long long MOD = 1000000007;
const long long MOD2 = 998244353;
int main() {
  long long N, H;
  cin >> N >> H;
  vector<pair<long long, long long>> ba(N);
  for (long long i = 0; i < N; i++) {
    cin >> ba.at(i).second >> ba.at(i).first;
  }
  sort(ba.begin(), ba.end(), greater<pair<long long, long long>>());
  long long maxa = zero;
  for (long long i = 0; i < N; i++) {
    maxa = max(ba.at(i).second, maxa);
  }
  long long tmp, cnt;
  cnt = zero;
  for (long long i = 0; i < N; i++) {
    tmp = ba.at(i).first;
    if (tmp >= maxa) {
      H -= tmp;
      cnt++;
    } else {
      break;
    }
  }
  if (H > 0) cnt += 1 + (H - 1) / maxa;
  printf("%lld\n", cnt);
}
