#include <bits/stdc++.h>
using namespace std;
typedef long long arr64[200020];
int n, tn, tS, qS = 1;
pair<int, long long> pr[200020];
arr64 pX, pY, K, B;
int main() {
  long long s;
  scanf("%d%I64d", &n, &s);
  for (int i = 1; i <= n; i++) scanf("%d%d", &pr[i].first, &pr[i].second);
  sort(pr + 1, pr + n + 1);
  pr[++n] = make_pair((int)1e9, s);
  for (int i = 1; i <= n; i++)
    if (i == 1 || pr[i].first > pr[i - 1].first) {
      while (tn > 0 && pr[i].second <= pr[tn].second) tn--;
      pr[++tn] = pr[i];
    }
  K[tS = 1] = pr[1].first;
  for (int i = 2; i <= tn; i++) {
    qS = min(qS, tS);
    while (qS < tS &&
           (((pr[i].second - B[qS + 1]) / (K[qS + 1]) +
             ((pr[i].second - B[qS + 1]) % (K[qS + 1]) != 0)) <
                ((pr[i].second - B[qS]) / (K[qS]) +
                 ((pr[i].second - B[qS]) % (K[qS]) != 0)) ||
            ((pr[i].second - B[qS + 1]) / (K[qS + 1]) +
             ((pr[i].second - B[qS + 1]) % (K[qS + 1]) != 0)) ==
                    ((pr[i].second - B[qS]) / (K[qS]) +
                     ((pr[i].second - B[qS]) % (K[qS]) != 0)) &&
                (K[qS + 1] * ((pr[i].second - B[qS + 1]) / (K[qS + 1]) +
                              ((pr[i].second - B[qS + 1]) % (K[qS + 1]) != 0)) +
                 B[qS + 1] - pr[i].second) >=
                    (K[qS] * ((pr[i].second - B[qS]) / (K[qS]) +
                              ((pr[i].second - B[qS]) % (K[qS]) != 0)) +
                     B[qS] - pr[i].second)))
      qS++;
    long long cX = ((pr[i].second - B[qS]) / (K[qS]) +
                    ((pr[i].second - B[qS]) % (K[qS]) != 0)),
              cK = pr[i].first;
    long long cY = (K[qS] * ((pr[i].second - B[qS]) / (K[qS]) +
                             ((pr[i].second - B[qS]) % (K[qS]) != 0)) +
                    B[qS] - pr[i].second),
              cB = cY - cK * cX;
    if (i == tn) printf("%I64d\n", cX);
    while (tS > 1 && cK * pX[tS - 1] + cB >= pY[tS - 1]) tS--;
    K[++tS] = cK, B[tS] = cB;
    pX[tS - 1] = (((B[tS - 1] - B[tS])) / ((K[tS] - K[tS - 1])) +
                  (((B[tS - 1] - B[tS])) % ((K[tS] - K[tS - 1])) != 0));
    pY[tS - 1] = cK * pX[tS - 1] + cB;
  }
}
