#include using namespace std; typedef long long int LL; #define st first #define nd second #define PII pair const int N = 1e5 + 7; int n; PII P[N]; bool ok[N]; vector Ot; vector In; LL Iloczyn(PII a, PII b, PII c){ return 1LL * (b.st - a.st) * (c.nd - a.nd) - 1LL * (c.st - a.st) * (b.nd - a.nd); } bool cmp(int a, int b){ if(P[a].st == P[b].st) return P[a].nd < P[b].nd; return P[a].st < P[b].st; } void solve(){ vector maybe; for(int i = 1; i <= n; ++i) maybe.push_back(i); sort(maybe.begin(), maybe.end(), cmp); vector Left, Right; for(auto v: maybe){ while(Left.size() > 1 && Iloczyn(P[Left[Left.size() - 2]], P[Left.back()], P[v]) > 0) Left.pop_back(); Left.push_back(v); } reverse(maybe.begin(), maybe.end()); for(auto v: maybe){ while(Right.size() > 1 && Iloczyn(P[Right[Right.size() - 2]], P[Right.back()], P[v]) > 0) Right.pop_back(); Right.push_back(v); } Right.pop_back(); reverse(Right.begin(), Right.end()); Right.pop_back(); for(auto v: Left) Ot.push_back(v); for(auto v: Right) Ot.push_back(v); // for(auto v: Ot) // printf("%d ", v); if(Ot.size() == n){ printf("3 %d %d\n", n - 2, n); exit(0); } for(auto v: Ot) ok[v] = true; for(int i = 1; i <= n; ++i) if(!ok[i]) In.push_back(i); } void DC(vector a, vector b){ if(a.size() == 3){ if(b.size() == 0) return; for(int v: a) ok[v] = false; return; } int best = 0; for(int i = 1; i < a.size(); ++i) if(a[i] < a[best]) best = i; vector na; for(int i = best; i < a.size(); ++i) na.push_back(a[i]); for(int i = 0; i < best; ++i) na.push_back(a[i]); int cand = a.size() / 2; if(a.size()%2 == 1 && na[cand + 1] < na[cand]) cand++; vector Left[2], Right[2]; for(int i = 0; i <= cand; ++i) Left[0].push_back(na[i]); for(int i = cand; i < na.size(); ++i) Right[0].push_back(na[i]); Right[0].push_back(na[0]); for(int v: b){ if(Iloczyn(P[na[0]], P[v], P[na[cand]]) < 0) Left[1].push_back(v); else Right[1].push_back(v); } DC(Left[0], Left[1]); DC(Right[0], Right[1]); } int main(){ scanf("%d", &n); for(int i = 1; i <= n; ++i) scanf("%d %d", &P[i].st, &P[i].nd); solve(); DC(Ot, In); int cnt = 0; for(int i = 1; i <= n; ++i) cnt += !ok[i]; printf("4 %d %d\n", In.size(), cnt); return 0; }