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