#include <bits/stdc++.h>
using namespace std;
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int main() {
  long long int A, B, C, L, R, N, M, K, X = 0, Y = 0, W, H = 99999999999,
                                        sum = 0, num = 0, flag = 0;
  string S, T, O;
  cin >> N >> K;
  vector<pair<long long int, long long int>> P(N);
  vector<pair<long long int, long long int>> Q(N);
  for (long long int i = 0; i < N; i++) {
    cin >> P[i].first >> Q[i].first;
    P[i].second = i;
    Q[i].second = i;
  }
  sort(P.begin(), P.end());
  M = P[N - 1].first;
  X = P[N - 1].second;
  reverse(P.begin(), P.end());
  sort(Q.begin(), Q.end());
  reverse(Q.begin(), Q.end());
  for (long long int i = 0; i < N; i++) {
    if (Q[i].first > M) {
      K -= Q[i].first;
      sum++;
    }
  }
  if (K % M)
    sum += K / M + 1;
  else
    sum += K / M;
  cout << sum << endl;
}
