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 as m
from collections import Counter
n = int(input())
A = []
Ct = Counter()
ans = n * (n - 1) * (n - 2) // 6
for i in range(n):
  A += [tuple(map(int, input().split()))]
for i in range(n):
  for j in range(i):
    x1, y1 = A[i]
    x2, y2 = A[j]
    dx = x2 - x1
    dy = y2 - y1
    a, b, c = -dy, dx, y1 * dx - x1 * dy
    if c < 0:
      a *= -1
      b *= -1
      c *= -1
    g = m.gcd(a, m.gcd(b, c))
    a //= g
    b //= g
    c //= g
    Ct[(a, b, c)] += 1

for v in Ct.values():
  ans -= v * (v - 1) * (v - 2) // 6
print(ans)
