#include <bits/stdc++.h>
using namespace std;
using cat = long long;
int main() {
  cin.sync_with_stdio(0);
  cin.tie(0);
  cout << fixed << setprecision(10);
  int N;
  cin >> N;
  vector<pair<cat, cat> > P(N);
  for (int i = 0; i < N; i++) {
    int x, y;
    cin >> x >> y;
    P[i] = {x, y - 1LL * x * x};
  }
  sort(begin(P), end(P));
  vector<int> H = {0};
  for (int i = 0; i < N; i++) {
    while ((int)H.size() > 1) {
      int id2 = H.back(), id3 = H[H.size() - 2];
      cat cp = (P[i].second - P[id3].second) * (P[id2].first - P[id3].first) -
               (P[i].first - P[id3].first) * (P[id2].second - P[id3].second);
      if (cp >= 0)
        H.pop_back();
      else
        break;
    }
    H.push_back(i);
  }
  reverse(begin(H), end(H));
  while ((int)H.size() > 1 && P[H.back()].first == P[H[H.size() - 2]].first)
    H.pop_back();
  reverse(begin(H), end(H));
  cout << H.size() - 1 << "\n";
  return 0;
}
