Vanya got bored and he painted *n* distinct points on the plane. After that he connected all the points pairwise and saw that as a result many triangles were formed with vertices in the painted points. He asks you to count the number of the formed triangles with the non-zero area.
The first line contains integer *n* (1 ≤ *n* ≤ 2000) — the number of the points painted on the plane. 

Next *n* lines contain two integers each *x*<sub class="lower-index">*i*</sub>, *y*<sub class="lower-index">*i*</sub> ( - 100 ≤ *x*<sub class="lower-index">*i*</sub>, *y*<sub class="lower-index">*i*</sub> ≤ 100) — the coordinates of the *i*-th point. It is guaranteed that no two given points coincide.
import java.util.Scanner;
public class VanyaTriangles {
    public static void main(String[] args){
        //lectura inicial
        Scanner lectura = new Scanner(System. in);
        int n=lectura.nextInt();
        //hacer arrays de maximo 2000+1
        int[] arrayX=new int[2001];
        int[] arrayY=new int[2001];
        int[][] arrayDifX=new int[2001][2001];
        int[][] arrayDifY=new int[2001][2001];
        int conclusion=0;
        //llenar arrays de coordenadas
        for (int i=1;i<=n;i++){
            arrayX[i]=lectura.nextInt();
            arrayY[i]=lectura.nextInt();
        }
        //llenar arrays de diferencia de coordenada para precalcular
        for (int i=1;i<n;i++){
            for (int j=i+1;j<=n;j++){
		arrayDifX[i][j]=arrayX[i]-arrayX[j];
		arrayDifY[i][j]=arrayY[i]-arrayY[j];
            }
        }
        //comenzar ciclo sin colineares
	for (int i=1;i<n-1;i++){
            for (int j=i+1;j<n;j++){
		for (int k=j+1;k<=n;k++){
                    if ( (arrayDifX[i][j]*arrayDifY[i][k]-arrayDifX[i][k]*arrayDifY[i][j]) != 0)
			conclusion++;
                }
            }
        }
	System.out.println(conclusion);
    }
}
/*
import time
tiempoI=time.time()
numeroPuntos=int(input())
conclusion=0
listaX=[0]
listaY=[0]
listaDifX=[[0 for i in range(2000)] for j in range(2000)]
listaDifY=[[0 for i in range(2000)] for j in range(2000)]
for i in range(1, numeroPuntos + 1):
    a1,a2=input().split()
    listaX.append(int(a1))
    listaY.append(int(a2))
for i in range(1, numeroPuntos):
    for j in range(i+1,numeroPuntos+1):
        listaDifX[i][j]= listaX[i] - listaX[j]
        listaDifY[i][j]= listaY[i] - listaY[j]
for i in range(1, numeroPuntos - 1):
    for j in range(i, numeroPuntos):
        for k in range(j+1, numeroPuntos + 1):
            #print(conclusion)
            #print(listaDifX[i][j],listaDifX[i][k], listaDifY[i][k] , listaDifY[i][j])
            if(listaDifX[i][j]==0 and listaDifY[i][j]==0):
                conclusion=conclusion
                continue
            elif ( (listaDifX[i][j] * listaDifY[i][k] - listaDifX[i][k] * listaDifY[i][j]) != 0):
                conclusion+=1
print(conclusion)
print("--- %s seconds ---" % (time.time() - tiempoI))
*/