На двумерной плоскости даны $n$ точек $p_i$, причём точка $p_i$ расположена в координатах $(x_i, y_i)$. Гарантируется, что никакие две точки не совпадают и никакие три точки не лежат на одной прямой.
Найдите количество способов выбрать три точки из данного множества так, чтобы выпуклая оболочка любого подмножества, содержащего эти три точки, являлась треугольником.
Входные данные
В первой строке содержится целое число $n$ — количество точек. В каждой из следующих $n$ строк содержатся два целых числа $x_i$ и $y_i$ — координаты точки $p_i$.
Выходные данные
Выведите одно целое число — количество способов выбрать три точки из данного множества так, чтобы выпуклая оболочка любого подмножества, содержащего эти три точки, являлась треугольником.
Ограничения
$3 \le n \le 2000$, $|x_i|, |y_i| \le 10^9$, никакие две точки не находятся в одном и том же месте, никакие три точки не лежат на одной прямой.
Примеры
Входные данные 1
7 2 7 0 9 -2 -2 9 4 3 3 -8 -10 -2 -3
Выходные данные 1
2
Входные данные 2
4 -1 -1 1 -1 0 1 0 0
Выходные данные 2
4
Входные данные 3
7 -50 -33 50 -31 -93 98 -47 -59 16 -35 79 -25 -75 41
Выходные данные 3
15
Примечание
Точки из первого примера расположены так, как показано на рисунке ниже.
В первом примере условию удовлетворяют следующие два способа выбора трёх точек: $\{p_1, p_4, p_6\}$, $\{p_2, p_4, p_6\}$.
Точки из второго примера расположены так, как показано на рисунке ниже.
Во втором примере условию удовлетворяют следующие четыре способа выбора трёх точек: $\{p_1, p_2, p_3\}$, $\{p_1, p_2, p_4\}$, $\{p_1, p_3, p_4\}$, $\{p_2, p_3, p_4\}$.