Многоугольник называется выпуклым, если любая прямая, полностью содержащая одну из его сторон, оставляет остальные точки многоугольника строго по одну сторону от себя.
Выпуклой оболочкой множества точек на координатной плоскости назовем наименьший выпуклый многоугольник, содержащий все заданные точки. При этом какие-то из заданных точек оказываются на границе выпуклой оболочки, а какие-то — строго внутри нее.
Представьте себе доску, в которую вбито — но не по самую шляпку — много гвоздей. Возьмите верёвку, свяжите на ней скользящую петлю (лассо) и набросьте её на доску, а потом затяните. Верёвка окружает все гвозди, но касается она только некоторых, самых внешних. Те гвозди, которых она касается, составляют выпуклую оболочку для всей группы гвоздей. — Википедия
Даны 4 точки. Найдите, сколько из них лежат на границе их выпуклой оболочки.
Во входных данных содержатся 4 строки, в каждой из них по два целых числа — координаты $$$x_i$$$, $$$y_i$$$ ($$$-100 \le x_i, y_i \le 100$$$). Гарантируется, что никакие две точки не совпадают, и никакие три не лежат на одной прямой.
Выведите количество точек из заданных, которые лежат на границе их выпуклой оболочки.
0 0 3 0 3 3 0 3
4
-1 -1 2 -1 2 2 1 0
3