#P5624. 最大的围栏

最大的围栏

题目描述

农民约翰购买了N({N(}5<=N<=250){5<=N<=250)}个栅栏柱,以建造一个非常好看的栅栏。

每个人都知道最好的栅栏是凸多边形,其中栅栏柱形成多边形的顶点。牧场用直线网格表示;围栏i{i}位于整数坐标(xi,{(x_i,}yi){y_i)}(1<=xi<=1000{(1<=x_i<=1000};1<=yi<=1000){1<=y_i<=1000)}。

考虑到N{N}个栅栏柱的位置(有趣的是,这些栅栏柱没有共线的三个点集),FJ{FJ}可以用来创建凸形栅栏的最大栅栏柱数是多少?

对于该问题45%{45\%}的测试用例,N≤{N≤}65{65}。农民约翰有n(5≤{n(5≤}n≤{n≤}250){250)}个栅栏点,他需要围成一个栅栏圈,这个圈是一个凸包并且凸 包上的点最多....

输入格式

第1{1}行:单个整数:N{N}

第2{2}行...N+1:{...N+1:}第i+1{i+1}行用两个空格分隔的整数:xi{x_ i}和yi{y_i}描述栅栏柱i{i}的位置

输出格式

第1{1}行:单个整数,即形成凸多边形的栅栏柱的最大可能数量。

样例

输入样例

6
5 5
2 3
3 2
1 5
5 1
1 1

输出样例

5

提示

最大的凸多边形是五边形(2,3){(2,3)}、(3,2){(3,2)}、(5,1){(5,1)}、(5,5){(5,5)}、(1,5){(1,5)}。