#include <bits/stdc++.h>
using namespace std;
const long double PI = 3.141592653589793238463;
const int N = 5e5 + 10;
const long long INF = 1LL << 60;
template <class T>
void chmax(T &a, T b) {
  if (a < b) a = b;
}
template <class T>
void chmin(T &a, T b) {
  if (a > b) a = b;
}
int main() {
  int n;
  cin >> n;
  long long h;
  cin >> h;
  pair<long long, long long> second[n];
  for (int i = 0; i < n; i++) cin >> second[i].first >> second[i].second;
  sort(second, second + n, greater<pair<long long, long long>>());
  int a = second[0].first;
  long long cnt = 0;
  for (int i = 0; i < n; i++) {
    if (second[i].second > a) cnt++, h -= second[i].second;
  }
  if (h > 0) {
    cnt += (h / a);
    cnt += (h % a != 0);
  }
  cout << cnt << endl;
}
