#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)}。