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.
'''
slope concept is used mostly here
and then used combinatorics to get total count
while keeping in mind that not to double count and
also not count triangles that are of zro area; all three points on same line 
'''
def get_hcf(a,b):
    # log(max(a,b))
    if a>=b:
        q=a
        p=b
    else:
        q=b
        p=a
    
    while q%p!=0:
        q,p=p,q%p
    return p


if __name__ == "__main__":
    n=int(input())
    points=[[int(i) for i in input().split()] for j in range(n)]
    ans=0
    distance_hm={}
    for i in range(n):
        # populating the distance map for ith point
        for j in range(i+1,n): # very important otherwise we double count
            p1=points[i]
            p2=points[j]
            if p1[0]==p2[0]:
                distance_hm[(1,0)]=distance_hm.get((1,0),0)+1
            elif p1[1]==p2[1]:
                distance_hm[(0,1)]=distance_hm.get((0,1),0)+1
            else:
                a=p2[1]-p1[1]
                b=p2[0]-p1[0]
                hcf_ab=get_hcf(abs(a),abs(b))
                a=a//hcf_ab
                b=b//hcf_ab
                if a*b<0:
                    distance_hm[(-abs(a),abs(b))]=distance_hm.get((-abs(a),abs(b)),0)+1
                else:
                    distance_hm[(abs(a),abs(b))]=distance_hm.get((abs(a),abs(b)),0)+1
        # counting step
        count=0
        total_sum=0
        for val in distance_hm.values():
            total_sum+=val
        
        for val in distance_hm.values():
            count+=(total_sum-val)*val
        
        ans+=(count//2)

        # don't forget to clear the hm
        distance_hm.clear()
    print(ans)