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.

def solve(dots,n):

    ans = n*(n-1)*(n-2)/6 #C(n,3)=P(n,3)/factorial(3)

    for i in range(n):
        seen = {}
        for j in range(i+1,n):
            #egim
            if dots[i][0]-dots[j][0] == 0:
                e=10**10
            else:
                e=(dots[i][1]-dots[j][1])/(dots[i][0]-dots[j][0])
            if e not in seen.keys():
                seen[e] = 0
            ans -=seen[e]
            seen[e]+=1

    return int(ans)


def main():
    n=int(input().strip())
    if n<3:
        print(0)
    else:
        dots=[]
        for _ in range(n):
            dots.append(list(map(int,input().strip().split())))
        print(solve(dots,n))

if __name__ == '__main__':
    main()

