#include <bits/stdc++.h>
using namespace std;
bool cmp_b(pair<int, int> a, pair<int, int> b) {
  if (a.first != b.second)
    return a.first > b.first;
  else
    return a.second < b.second;
}
int main() {
  int N, H;
  cin >> N >> H;
  vector<pair<int, int> > ba(N);
  for (int i = 0; i < N; i++) {
    int a, b;
    cin >> a >> b;
    ba[i] = pair<int, int>(b, a);
  }
  sort(ba.begin(), ba.end(), cmp_b);
  int rem[N + 1];
  rem[0] = H;
  for (int i = 0; i < N; i++) {
    rem[i + 1] = rem[i] - ba[i].first;
  }
  int res = 1000000001;
  for (int i = 0; i < N; i++) {
    int temp = i;
    int t = 1;
    rem[i] = rem[i] - ba[i].first;
    if (rem[i] <= 0) {
      res = min(res, temp + t);
      continue;
    }
    t += rem[i] / ba[i].second;
    if (rem[i] % ba[i].second) t++;
    res = min(res, temp + t);
  }
  cout << res << endl;
  return 0;
}
