#include <bits/stdc++.h>
using namespace std;
typedef struct {
  long long v;
  long long c;
} double_pair;
struct line {
  long long k, b;
  line() {}
  line(long long _k, long long _b) : k(_k), b(_b) {}
  long long Solve(long long val) {
    long long _a = val - b, _b = k;
    if (_a % _b == 0)
      return _a / _b;
    else
      return _a / _b + 1;
  }
  long long f(long long x) { return k * x + b; }
};
double_pair D[300000];
int n;
line St[300000];
int top;
long long X[300000], s;
long long intersection(line a, line b) {
  long long _a = a.b - b.b, _b = b.k - a.k;
  if (_a % _b == 0)
    return _a / _b;
  else
    return _a / _b + 1;
}
bool slope_compare(double_pair d1, double_pair d2) {
  return ((d1.c < d2.c) || (d1.c == d2.c && d1.v > d2.v));
}
bool check(long long x, long long _s) {
  if (x > X[top - 1]) return x >= St[top].Solve(_s);
  int pos = lower_bound(X + 1, X + top, x) - X;
  if (X[pos] == x) pos++;
  return x >= St[pos].Solve(_s);
}
long long chat(long long _s) {
  long long l = 0, r = _s, mid;
  while (l + 1 < r) {
    mid = (l + r) >> 1;
    if (check(mid, _s))
      r = mid;
    else
      l = mid;
  }
  return r;
}
void find_hull() {
  St[++top] = line(D[0].v, -D[0].c);
  long long i1, i2;
  for (int i = 1; i < n; ++i) {
    long long x0 = chat(D[i].c);
    long long p = lower_bound(X + 1, X + top, x0) - X;
    long long y0 =
        St[p + (X[p] == x0)].k * x0 + St[p + (X[p] == x0)].b - D[i].c;
    line tmp(D[i].v, y0 - x0 * D[i].v);
    while (top >= 2 && (((i1 = intersection(tmp, St[top])) <=
                             (i2 = intersection(St[top], St[top - 1])) ||
                         (i1 == i2 && tmp.f(i1) >= St[top].f(i1)))))
      --top;
    St[++top] = tmp;
    X[top - 1] = intersection(St[top], St[top - 1]);
  }
}
int main() {
  cin >> n >> s;
  for (int i = 1; i <= n; i++) cin >> D[i].v >> D[i].c;
  sort(D + 1, D + n + 1, slope_compare);
  int tmp_n = n, maxv = 0;
  n = 0;
  for (int i = 1; i <= tmp_n; i++) {
    if (maxv >= D[i].v) continue;
    maxv = D[i].v;
    D[n++] = D[i];
  }
  find_hull();
  cout << chat(s);
  return 0;
}
