#include <bits/stdc++.h>
using namespace std;
bool isExist(char c, string str) {
  for (int i = 0; i < str.length(); i++) {
    if (c == str[i]) return true;
  }
  return false;
}
int main() {
  int N, H;
  cin >> N >> H;
  vector<vector<int>> ab(N, vector<int>(2));
  for (int i = 0; i < N; i++) cin >> ab[i][0] >> ab[i][1];
  int maxa = 0;
  for (int i = 0; i < N; i++)
    if (ab[i][0] > maxa) maxa = ab[i][0];
  int count = 0;
  for (int i = 0; i < N; i++) {
    if (ab[i][1] > maxa) {
      H -= ab[i][1];
      if (H <= 0) {
        cout << count << endl;
        return 0;
      }
      count++;
    }
  }
  count += H / maxa + ((H % maxa == 0) ? 0 : 1);
  cout << count << endl;
  return 0;
}
