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 math 
import sys

def main(arr):
  

  points=[0]*len(arr) 

  for i in range(len(points)):
    points[i]={} 


  for i in range(len(arr)):
    x1,y1=arr[i]
    for j in range(len(arr)):

      if i!=j:

        x2,y2=arr[j] 
        e=float('inf')
        if x2-x1!=0:
          e=(y2-y1)/(x2-x1)
        if e not in points[i]:
          points[i][e]=0
        points[i][e]+=1 
  ans=0
  for e in points:

    s=0 
    for p in e:
      s+=e[p] 
    for p in e:
      s-=e[p] 
      ans+=s*e[p]
  return ans//3

n=int(input())
arr=[]
for i in range(n):
  arr.append(list(map(int,input().split())))
print(main(arr))




        


      
      
import math 
import sys

def main(arr):
  

  points=[0]*len(arr) 

  for i in range(len(points)):
    points[i]={} 


  for i in range(len(arr)):
    x1,y1=arr[i]
    for j in range(len(arr)):

      if i!=j:

        x2,y2=arr[j] 
        e=float('inf')
        if x2-x1!=0:
          e=(y2-y1)/(x2-x1)
        if e not in points[i]:
          points[i][e]=0
        points[i][e]+=1 
  ans=0
  for e in points:

    s=0 
    for p in e:
      s+=e[p] 
    for p in e:
      s-=e[p] 
      ans+=s*e[p]
  return ans//3

n=int(input())
arr=[]
for i in range(n):
  arr.append(list(map(int,input().split())))
print(main(arr))




        


      
      