#include <bits/stdc++.h>
const int N = 200010;
using namespace std;
int n, tp = 0;
pair<long long, long long> a[N], stc[N];
pair<long long, long long> operator-(const pair<long long, long long> &A,
                                     const pair<long long, long long> &B) {
  return pair<long long, long long>(A.first - B.first, A.second - B.second);
}
long long X(pair<long long, long long> a, pair<long long, long long> b) {
  return a.first * b.second - a.second * b.first;
}
int main() {
  scanf("%d", &n);
  long long first, second;
  for (int i = (1); i <= (n); ++i)
    scanf("%lld%lld", &first, &second),
        a[i] = pair<long long, long long>(first, second - first * first);
  sort(a + 1, a + 1 + n);
  int cc = 1;
  for (int i = 2; i <= n; ++i) {
    if (a[cc].first == a[i].first)
      a[cc].second = max(a[cc].second, a[i].second);
    else
      a[++cc] = a[i];
  }
  n = cc;
  if (n == 1) return puts("0"), 0;
  stc[++tp] = a[1];
  stc[++tp] = a[2];
  for (int i = 3; i <= n; ++i) {
    pair<long long, long long> p = a[i];
    while (tp >= 2 && X(p - stc[tp - 1], stc[tp] - stc[tp - 1]) <= 0) --tp;
    stc[++tp] = a[i];
  }
  printf("%d\n", tp - 1);
}
