#include <bits/stdc++.h>
using namespace std;
int n, t, i;
long long x, y;
struct ff {
  long long x, y;
  bool operator<(const ff& w) const {
    if (x == w.x) return y < w.y;
    return x < w.x;
  }
} p[100005], s[100005];
long double slope(ff x, ff y) { return (long double)(x.y - y.y) / (x.x - y.x); }
int main() {
  scanf("%d", &n);
  for (i = 1; i <= n; ++i) {
    scanf("%lld%lld", &x, &y);
    y -= (long long)x * x;
    p[i] = (ff){x, y};
  }
  sort(p + 1, p + 1 + n);
  for (i = 1; i <= n; ++i) {
    while (t && s[t].x == p[i].x) t--;
    while (t > 1 && slope(p[i], s[t - 1]) >= slope(s[t], s[t - 1])) t--;
    s[++t] = p[i];
  }
  printf("%d\n", t - 1);
  return 0;
}
