#include<bits/stdc++.h>
using namespace std;
struct point{
int x, y, id;
point(int a = 0, int b = 0){x = a, y = b; }
friend point operator -(point a, point b){
return point(a.x - b.x, a.y - b.y);
}
friend double operator * (point a,point b){
return a.x*b.y-b.x*a.y;
}
}points[100005];
int across(point a, point b, point c){
return (c-a) * (b - a);
}
int main()
{
int n, x, y, cnt = 0;
cin >> n;
int s[100005] = {0}, p[100005] = {0};
for(int i = 1; i <= n; i++){
cin >> points[i].x >> points[i].y;
points[i].id = i;
while(cnt > 1){
if(across(points[i], points[p[cnt-1]], points[p[cnt-2]])){
cnt--;
}
else break;
}
if(cnt){
p[points[cnt-1].id] = 1;
}
p[cnt++] = i;
}
int sum = 0;
for(int i = 0; i <= n; i++){
if(p[i]) sum++;
}
cout << sum;
}