#include <bits/stdc++.h>
using namespace std;
pair<long long int, long long int> arr[1000000];
long long int cross(pair<long long int, long long int> a,
                    pair<long long int, long long int> b,
                    pair<long long int, long long int> c) {
  c.first -= b.first;
  c.second -= b.second;
  b.first -= a.first;
  b.second -= a.second;
  return c.first * b.second - b.first * c.second;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> arr[i].first >> arr[i].second;
    arr[i].second -= arr[i].first * arr[i].first;
  }
  sort(arr, arr + n);
  stack<pair<long long int, long long int> > CH;
  for (int i = 0; i < n; i++) {
    if (CH.size() < 2) {
      CH.push(arr[i]);
    } else {
      pair<long long int, long long int> A, B;
      do {
        A = CH.top();
        CH.pop();
        B = CH.top();
      } while (cross(B, A, arr[i]) <= 0 && CH.size() >= 2);
      if (cross(B, A, arr[i]) > 0) CH.push(A);
      CH.push(arr[i]);
    }
  }
  int count = 0;
  long long int last = CH.top().first + 1;
  while (!CH.empty()) {
    count++;
    if (CH.top().first == last) count--;
    last = CH.top().first;
    CH.pop();
  }
  cout << count - 1 << endl;
  return 0;
}
