#include <bits/stdc++.h>
using namespace std;
int N, H;
pair<int, int> knifea[100000];
pair<int, int> knifeb[100000];
int main() {
  cin >> N >> H;
  for (int i = 0; i < N; ++i) {
    cin >> knifea[i].first >> knifeb[i].first;
    knifea[i].second = i;
    knifeb[i].second = i;
  }
  sort(knifea, knifea + N);
  sort(knifeb, knifeb + N);
  int remain = H;
  int nowb = 0, nowa = 0;
  int ans = 0;
  while (remain > 0) {
    if (nowb < N) {
      if (knifea[0].first < knifeb[nowb].first) {
        remain -= knifeb[nowb].first;
        ans++;
        nowb++;
      } else {
        if (0 == remain % knifea[0].first) {
          ans += remain / knifea[0].first;
        } else {
          ans += remain / knifea[0].first + 1;
        }
        break;
      }
    } else {
      if (0 == remain % knifea[0].first) {
        ans += remain / knifea[0].first;
      } else {
        ans += remain / knifea[0].first + 1;
      }
      break;
    }
  }
  cout << ans << endl;
  return 0;
}
