#2413. 最大的围栏

最大的围栏

题目描述

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

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

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

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

输入格式

1\red{1}行:单个整数:N\red{N}

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

输出格式

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

样例

输入样例

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

输出样例

5

提示

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