#include <bits/stdc++.h>
using namespace std;
pair<long long, long long> operator-(const pair<long long, long long>& A,
                                     const pair<long long, long long>& B) {
  return {A.first - B.first, A.second - B.second};
}
long long cross(pair<long long, long long> k1, pair<long long, long long> k2) {
  return k1.first * k2.second - k1.second * k2.first;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0), cout.tie(0);
  int n;
  cin >> n;
  vector<pair<long long, long long> > A(n), ans(n);
  for (int i = 0; i < n; i++) {
    cin >> A[i].first >> A[i].second;
    A[i].second -= A[i].first * A[i].first;
  }
  sort(A.begin(), A.end());
  int now = -1;
  for (int i = n - 1; ~i; i--) {
    while (now > 0 && cross(ans[now] - ans[now - 1], A[i] - ans[now - 1]) <= 0)
      now--;
    ans[++now] = A[i];
  }
  int res = 0;
  for (int i = 1; i <= now; i++)
    if (ans[i].first != ans[i - 1].first) res++;
  cout << res << endl;
  return 0;
}
