Danych jest $N$ punktów na płaszczyźnie 2D. Współrzędne $i$-tego punktu to $(x_i, y_i)$. Chcesz zaznaczyć niektóre z tych $N$ punktów tak, aby spełniony był następujący warunek:
- Nie istnieje czworokąt wypukły, którego cztery różne wierzchołki należą do zbioru zaznaczonych punktów.
Znajdź maksymalną możliwą liczbę zaznaczonych punktów.
Definicja czworokąta wypukłego
Czworokąt utworzony przez cztery różne punkty na płaszczyźnie jest czworokątem wypukłym, jeśli spełnia wszystkie poniższe warunki:
- Żadne trzy wierzchołki nie są współliniowe.
- Niesąsiadujące ze sobą boki nie mają punktu wspólnego.
- Każdy kąt wewnętrzny czworokąta ma miarę ściśle mniejszą niż $180$ stopni.
Wejście
Wejście podawane jest w następującym formacie:
$$\begin{aligned} &N \\ &x_1 \ y_1 \\ &x_2 \ y_2 \\ &\vdots \\ &x_N \ y_N \end{aligned}$$
- Wszystkie wartości na wejściu są liczbami całkowitymi.
- $4 \le N \le 500$
- $|x_i|, |y_i| \le 10^8$
- $(x_i, y_i) \ne (x_j, y_j)$ dla $i \ne j$.
Wyjście
Wypisz odpowiedź w jednym wierszu.
Przykłady
Wejście 1
5 0 0 -1 0 0 -1 1 0 0 1
Wyjście 1
4
Wejście 2
5 0 0 1 1 2 2 2 3 3 2
Wyjście 2
5
Wejście 3
7 -1 8 11 8 -4 -2 19 12 -8 -6 7 6 -1 2
Wyjście 3
6
Wejście 4
4 0 0 2 0 1 -1 0 1
Wyjście 4
3
Uwaga
W pierwszym przykładzie można zaznaczyć cztery punkty z wyłączeniem $(-1, 0)$. Jeśli zaznaczy się wszystkie punkty, to istnieje czworokąt wypukły, którego wierzchołkami są cztery punkty z wyłączeniem $(0, 0)$, co narusza warunek.