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
from math import gcd
from collections import defaultdict
input=sys.stdin.readline
n=int(input())
p=[list(map(int,input().split())) for i in range(n)]
ans=0
for xi,yi in p:
    angle=defaultdict(int)
    for x,y in p:
        if xi==x and yi==y:
            continue
        x-=xi;y-=yi
        if x<0 or (x==0 and y<0):
            x=-x;y=-y
        g=abs(gcd(x,y))
        x//=g;y//=g
        angle[(x,y)]+=1
    cnt=0
    for i in angle.keys():
        cnt+=angle[i]*(n-1-angle[i])
    ans+=cnt//2
print(ans//3)