AT_utpc2025_c Convex Crusher

Description

$ 2 $ 次元平面上の $ N $ 点が与えられます。 $ i $ 番目の点の座標は $ (x_i,y_i) $ です。この $ N $ 点から、以下の条件を満たすようにいくつかの点に印を付けます。 - 印を付けた点のうちの相異なる $ 4 $ 点を頂点とするような凸四角形が存在しない。 印を付ける点の個数として考えられる最大値を出力してください。 凸四角形の定義 平面上の相異なる $ 4 $ 点を頂点とする四角形が凸四角形であるとは、以下の条件をすべて満たすことをいいます。 - どの $ 3 $ 頂点も同一直線上にない。 - 隣接しない $ 2 $ 辺は共有点を持たない。 - 四角形のどの内角も $ 180 $ 度未満である。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ $ \vdots $ $ x_N $ $ y_N $

Output Format

答えを $ 1 $ 行に出力せよ。

Explanation/Hint

### Sample Explanation 1 $ (-1,0) $ を除く $ 4 $ 点に印を付けることができます。全ての点に印を付けると、 $ (0,0) $ を除く $ 4 $ 点を頂点とする凸四角形が存在してしまうので、条件を満たしません。 ### Constraints - 入力は全て整数 - $ 4 \leq N \leq 500 $ - $ |x_i|,|y_i|\leq 10^8 $ - $ (x_i,y_i)\neq(x_j,y_j)\ (i\neq j) $