#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0);
  int N, H;
  cin >> N >> H;
  vector<int> Bs;
  int res = 0, max_a = 0;
  for (int i = 0; i < N; ++i) {
    int A, B;
    cin >> A >> B;
    Bs.emplace_back(B);
    max_a = max(max_a, A);
  }
  for (int i = 0; i < N; ++i) {
    res++;
    if (H - max(max_a, Bs[i]) > 0) {
      H -= max(max_a, Bs[i]);
    } else {
      cout << res << endl;
      return 0;
    }
  }
  int a_attack = 0;
  while (a_attack * max_a < H) {
    a_attack++;
  }
  cout << res + a_attack << endl;
}
