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 itertools
def factorial(n):
    num = 1
    while n >= 1:
        num = num * n
        n = n - 1
    return num
def dependency(subset):
    x = subset[1][0] * subset[0][0] - subset[1][1] * subset[0][1]
    y = subset[1][0] * subset[2][0] - subset[1][1] * subset[2][1]
    if x == 0 and y == 0:
        return True
    return False

n = int(input())
pos = []
if n < 3:
    print(0)
    exit(0)
for i in range(n):
    x, y = map(int,input().split())
    pos.append((x,y))

max = factorial(n)/(factorial(3)*factorial(n-3))
print(max)
for subset in itertools.combinations(pos, 3):
    if dependency(subset):
        max = max -1
print(max)
