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.
n = int(input())
sum = (n*(n-1)*(n-2))/6
d = {}
flag = 0
for i in range(n):
    x,y = map(int, input().split())
    if (x==0 and y==0):
        flag = 1
    elif (x==0):
        slope = 1e9
        if not d.get(slope):
            d[slope] = 1
        else:
            d[slope] += 1
    else:
        slope = y/x
        if not d.get(slope):
            d[slope] = 1
        else:
            d[slope] += 1
    
for x in d.values():
    if flag:
        x+=1
    if x>=3:
        sum -= (x*(x-1)*(x-2))/6

print(int(sum))