#include <bits/stdc++.h>
using namespace std;
using ll = long long;
bool cw(pair<ll, ll> a, pair<ll, ll> b, pair<ll, ll> c) {
  return a.first * (b.second - c.second) + b.first * (c.second - a.second) +
             c.first * (a.second - b.second) <
         0;
}
ll conh(map<ll, ll> pts) {
  vector<pair<ll, ll> > up;
  for (auto p : pts) {
    if (up.empty()) {
      up.push_back(p);
      continue;
    }
    while (ll((up).size()) >= 2 &&
           !cw(up[ll((up).size()) - 2], up[ll((up).size()) - 1], p))
      up.pop_back();
    up.push_back(p);
  }
  return ll((up).size()) - 1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  ll n;
  cin >> n;
  map<ll, ll> pts;
  for (ll i = 0; i < n; i++) {
    ll first, second;
    cin >> first >> second;
    second -= first * first;
    if (pts.count(first))
      pts[first] = max(pts[first], second);
    else
      pts[first] = second;
  }
  cout << conh(pts) << endl;
}
