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 sys
import math
from fractions import Fraction
from collections import defaultdict

n = int(input())
points = [0]*n
for i in range(n):#, line in enumerate(sys.stdin):
    points[i] = tuple(int(x) for x in input().split())

cunt = 0
C2 = lambda x: x*(x-1)//2
C3 = lambda x: x*(x-1)*(x-2)//6
for i, p in enumerate(points):
    S = defaultdict(int)
    for q in points[i+1:]:
        k = float('inf') if p[1] == q[1] else Fraction(p[0]-q[0], p[1]-q[1])
        S[k] += 1

    cunt += sum(C2(S[i]) for i in S)
        
print(C3(n) - cunt)
