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 random


n = int(input())

def equa(a, b):
    if a[0] == b[0]:
        return math.inf, a[0]
    return (math.floor(1000000000*(b[1] - a[1]) / (b[0] - a[0])))/1000000000, math.floor(1000000000*(a[1] - a[0] * ((b[1] - a[1]) / (b[0] - a[0]))))

pontos = [[int(x) for x in input().split()] for _ in range(n)]
#print(pontos)
def main(n, pontos):
    pares = dict()

    for pri in range(n):
        for seg in range(pri+1, n):
            if equa(pontos[pri], pontos[seg]) in pares.keys():
                pares[equa(pontos[pri], pontos[seg])] += 1
            else:
                pares[equa(pontos[pri], pontos[seg])] = 1

    ans = n*(n-1)*(n-2)/6
    #print('possibilis', ans)

    for resposta in pares.keys():
       # print(f'pre: {resposta},{pares[resposta]}')
        resposta = (-1 + math.sqrt(1 + 8 * pares[resposta]))/2 + 1
       # print(resposta, '!')
        if resposta >= 3:
            #print(f'eita! {resposta}! removi {resposta*(resposta-1)*(resposta-2)/6}')
            ans -= resposta*(resposta-1)*(resposta-2)/6

    return(int(ans))

def slow(n, pontos):
    ans = 0
    for prim in range(n):
        for seg in range(prim + 1, n):
            for terc in range(seg + 1, n):
                if equa(pontos[prim], pontos[seg]) != equa(pontos[terc], pontos[seg]):
                    ans += 1
    return ans

#for kk in range(10000):
   # if kk%100:
   #     print('estamos', kk)
   # n = random.randint(1, 5)
   # pontos = list(set([(random.randint(-5, 5), random.randint(-5, 5)) for _ in range(n)]))
  #  n = len(pontos)
  #  if slow(n, pontos) != main(n, pontos):
  #      print('ERRO')
  #      print(n)
  #      print(pontos)
  #      print(slow(n, pontos), main(n, pontos))
  #      break

print(main(n, pontos))


        




    