#include <bits/stdc++.h>
using namespace std;
void Show(vector<vector<int>> Ns) {
  for (int i = 0; i < Ns.size(); i++) {
    for (int j = 0; j < Ns[i].size(); j++) {
      if (j == Ns[i].size() - 1) {
        cout << Ns[i][j] << endl;
      } else {
        cout << Ns[i][j] << ",";
      }
    }
  }
}
void Show(vector<int> N) {
  for (int i = 0; i < N.size(); i++) {
    cout << N[i];
    if (i != N.size() - 1) {
      cout << " ";
    } else {
      cout << endl;
    }
  }
}
int main() {
  int N, HP;
  cin >> N >> HP;
  vector<int> Katana;
  for (int i = 0; i < N; i++) {
    int katana;
    cin >> katana;
    int n = (HP % katana == 0) ? (HP / katana) : (HP / katana + 1);
    for (int j = 0; j < n; j++) {
      Katana.push_back(katana);
    }
    cin >> katana;
    Katana.push_back(katana);
  }
  sort(Katana.begin(), Katana.end());
  int C = 0;
  while (HP > 0) {
    HP -= Katana[Katana.size() - C - 1];
    C++;
  }
  cout << C << endl;
}
