#include <bits/stdc++.h>
using namespace std;
long long read() {
  char ch = getchar();
  long long num = 0;
  while (ch < '0' || '9' < ch) ch = getchar();
  while ('0' <= ch && ch <= '9') {
    num = num * 10 + ch - '0';
    ch = getchar();
  }
  return num;
}
long long N, S;
const int MAXN = 2e5 + 2;
struct Factory {
  long long v, c;
} a[MAXN];
long long Min[MAXN];
bool cmp(Factory x, Factory y) { return x.v < y.v; }
long long f[MAXN], lft[MAXN];
int beg[MAXN], id[MAXN];
int qL, qR;
long long val(int l, int r) {
  if (!a[r].c) return f[l];
  if (!l) return 0x3f3f3f3f3f3f3f3fLL;
  return f[l] + (a[r].c - lft[l] + a[l].v - 1) / a[l].v;
}
int main() {
  N = read();
  S = read();
  for (int i = 1; i <= N; i++) {
    a[i].v = read();
    a[i].c = read();
  }
  sort(a + 1, a + 1 + N, cmp);
  int n = 0;
  Min[N] = a[N].c;
  for (int i = N - 1; i >= 1; i--) Min[i] = min(Min[i + 1], a[i].c);
  for (int i = 1; i < N; i++) {
    if (a[i].c >= Min[i + 1]) continue;
    a[++n] = a[i];
  }
  a[++n] = a[N];
  N = n;
  qL = qR = 1;
  beg[1] = 1;
  id[1] = 0;
  int l, r, mid;
  long long v1, v2;
  long long ans = 0x3f3f3f3f3f3f3f3fLL;
  for (int i = 1; i <= N; i++) {
    while (qL < qR && beg[qL + 1] <= i) ++qL;
    f[i] = val(id[qL], i);
    lft[i] = (f[i] - f[id[qL]]) * a[id[qL]].v + lft[id[qL]] - a[i].c;
    ans = min(ans, f[i] + (S - lft[i] + a[i].v - 1) / a[i].v);
    while (qL < qR) {
      v1 = val(id[qR], beg[qR]);
      v2 = val(i, beg[qR]);
      if (v1 > v2 || v1 == v2 && (v1 - f[id[qR]]) * a[id[qR]].v + lft[id[qR]] <
                                     (v2 - f[i]) * a[i].v + lft[i])
        --qR;
      else
        break;
    }
    l = beg[qR];
    r = N + 1;
    while (l + 1 < r) {
      mid = (l + r) >> 1;
      v1 = val(id[qR], mid);
      v2 = val(i, mid);
      if (v1 < v2 || v1 == v2 && (v1 - f[id[qR]]) * a[id[qR]].v + lft[id[qR]] >
                                     (v2 - f[i]) * a[i].v + lft[i])
        l = mid;
      else
        r = mid;
    }
    if (r <= n) beg[++qR] = r, id[qR] = i;
  }
  printf("%lld", ans);
  return 0;
}
