Ci sono $n$ punti $p_i$ su un piano bidimensionale, con $p_i$ situato alle coordinate $(x_i, y_i)$. È garantito che non ci siano due punti nella stessa posizione e che non ci siano tre punti collineari.
Trova il numero di modi per scegliere tre punti dall'insieme dato in modo tale che l'inviluppo convesso di qualsiasi sottoinsieme contenente questi tre punti sia un triangolo.
Input
La prima riga contiene un intero $n$ – il numero di punti. Ciascuna delle successive $n$ righe contiene due interi $x_i$ e $y_i$ – le coordinate di $p_i$.
Output
Stampa un singolo intero – il numero di modi per scegliere tre punti dall'insieme dato in modo tale che l'inviluppo convesso di qualsiasi sottoinsieme contenente questi tre punti sia un triangolo.
Vincoli
$3 \le n \le 2000$, $|x_i|, |y_i| \le 10^9$, nessuna coppia di punti si trova nella stessa posizione, nessuna terna di punti è collineare.
Esempi
Input 1
7 2 7 0 9 -2 -2 9 4 3 3 -8 -10 -2 -3
Output 1
2
Input 2
4 -1 -1 1 -1 0 1 0 0
Output 2
4
Input 3
7 -50 -33 50 -31 -93 98 -47 -59 16 -35 79 -25 -75 41
Output 3
15
Note
I punti dati nel primo esempio sono disposti come mostrato nella figura sottostante.
Nel primo esempio, i seguenti due modi per scegliere tre punti soddisfano la condizione: $\{p_1, p_4, p_6\}$, $\{p_2, p_4, p_6\}$.
I punti dati nel secondo esempio sono disposti come mostrato nella figura sottostante.
Nel secondo esempio, i seguenti quattro modi per scegliere tre punti soddisfano la condizione: $\{p_1, p_2, p_3\}$, $\{p_1, p_2, p_4\}$, $\{p_1, p_3, p_4\}$, $\{p_2, p_3, p_4\}$.