#include <bits/stdc++.h>
using namespace std;
pair<long long, long long> operator-(pair<long long, long long> a,
                                     pair<long long, long long> b) {
  return pair<long long, long long>(a.first - b.first, a.second - b.second);
}
long long operator/(pair<long long, long long> a,
                    pair<long long, long long> b) {
  return a.first * b.second - a.second * b.first;
}
int n;
pair<long long, long long> p[200020];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    long long x, y;
    scanf("%lld%lld", &x, &y);
    y -= x * x;
    p[i] = pair<long long, long long>(x, y);
  }
  sort(p + 1, p + 1 + n);
  vector<pair<long long, long long> > np, cvx;
  for (int i = 1; i <= n; i++) {
    if (i == n || p[i].first != p[i + 1].first) np.push_back(p[i]);
  }
  for (pair<long long, long long> e : np) {
    while ((int)cvx.size() > 1 &&
           (cvx.back() - cvx[(int)cvx.size() - 2]) / (e - cvx.back()) >= 0)
      cvx.pop_back();
    cvx.push_back(e);
  }
  printf("%d\n", (int)cvx.size() - 1);
  return 0;
}
