#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
pair<long long, long long> a[maxn];
int ccw(pair<long long, long long> a, pair<long long, long long> b,
        pair<long long, long long> c) {
  long long a1 = b.first - a.first;
  long long b1 = b.second - a.second;
  long long a2 = c.first - b.first;
  long long b2 = c.second - b.second;
  long long t = a1 * b2 - a2 * b1;
  return t >= 0;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n = 0;
  cin >> 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, a + n);
  vector<pair<long long, long long> > vt;
  int start = 0;
  while (start + 1 < n && a[start].first == a[start + 1].first) start++;
  for (int i = start; i < n; i++) {
    while (vt.size() >= 2 && ccw(vt[(int)vt.size() - 2], vt.back(), a[i]))
      vt.pop_back();
    vt.push_back(a[i]);
  }
  cerr << vt.size() << endl;
  while (vt.size() >= 2 && vt.back().first == vt[(int)vt.size() - 2].first)
    vt.pop_back();
  cout << (int)vt.size() - 1;
  return 0;
}
