#include <bits/stdc++.h>
using namespace std;
long long fa2[200007], fb2[200007];
bool f(int i, int j, long long y) {
  long long x1, x2;
  if ((y - fb2[i]) % fa2[i] == 0) {
    x1 = (y - fb2[i]) / fa2[i];
  } else
    x1 = (y - fb2[i]) / fa2[i] + 1;
  if ((y - fb2[j]) % fa2[j] == 0) {
    x2 = (y - fb2[j]) / fa2[j];
  } else
    x2 = (y - fb2[j]) / fa2[j] + 1;
  if (x1 == x2) {
    return (x1 * fa2[i] + fb2[i]) <= (x2 * fa2[j] + fb2[j]);
  }
  return x1 > x2;
}
long long fcheck2(int i1, int i2, int i3) {
  return (fa2[i2] - fa2[i1]) * (fb2[i3] - fb2[i2]) >=
         (fb2[i2] - fb2[i1]) * (fa2[i3] - fa2[i2]);
}
long long f2(int i, long long x) { return fa2[i] * x + fb2[i]; }
long long ff(int i, long long y) {
  long long x1, x2;
  if ((y - fb2[i]) % fa2[i] == 0) {
    x1 = (y - fb2[i]) / fa2[i];
  } else
    x1 = (y - fb2[i]) / fa2[i] + 1;
  return x1;
}
struct Factory {
  long long v, c;
  bool operator<(const Factory &p) const {
    if (c == p.c) return v > p.v;
    return c < p.c;
  }
} a[200007];
long long dpt[200007];
long long dpm[200007];
int dep[200007];
int dep2[200007];
int n;
long long s;
void solve() {
  int l = 0, l2 = 0, r2 = 1;
  fa2[0] = a[0].v;
  fb2[0] = 0;
  dep2[0] = 0;
  for (int i = 0; i < n - 1; i++) {
    while (l + 1 < r2 && f(dep2[l], dep2[l + 1], a[i + 1].c)) l++;
    dpt[i + 1] = ff(dep2[l], a[i + 1].c);
    while (l2 + 1 < r2 &&
           f2(dep2[l2], dpt[i + 1]) < f2(dep2[l2 + 1], dpt[i + 1]))
      l2++;
    dpm[i + 1] = f2(dep2[l2], dpt[i + 1]) - a[i + 1].c;
    fa2[i + 1] = a[i + 1].v;
    fb2[i + 1] = dpm[i + 1] - a[i + 1].v * dpt[i + 1];
    while (l2 + 1 < r2 && fcheck2(dep2[r2 - 2], dep2[r2 - 1], i + 1)) r2--;
    dep2[r2++] = i + 1;
  }
}
int main() {
  scanf("%d%I64d", &n, &s);
  for (int i = 0; i < n; i++) scanf("%I64d%I64d", &a[i].v, &a[i].c);
  a[n].c = s;
  a[n].v = 2000000000;
  n++;
  sort(a, a + n);
  for (int i = 0; i < n; i++) {
  }
  int cnt = 0;
  for (int i = 1; i < n; i++) {
    if (a[i].v > a[cnt].v) {
      cnt++;
      a[cnt] = a[i];
    }
  }
  cnt++;
  n = cnt;
  dpt[0] = 0;
  dpm[0] = 0;
  solve();
  for (int i = 0; i < n; i++) {
    if (a[i].c == s) {
      printf("%I64d\n", dpt[i]);
      break;
    }
  }
  return 0;
}
