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 sys
input = sys.stdin.readline
from fractions import Fraction
from math import comb
MAX = 1000

def get_line(u, v, x, y):
    if u != x:
        slope = Fraction(y - v, x - u)
        intercept = y - slope*x
    else:
        slope = Fraction(MAX, 1)
        intercept = x
    return (slope, intercept)

n = int(input())
lines = dict()
points = []
for i in range(n):
    x, y = map(int, input().split())
    new_lines = set()
    for u, v in points:
        new_lines.add(get_line(u, v, x, y))
    for line in new_lines:
        if line in lines:
            lines[line] += 1
        else:
            lines[line] = 2
    points.append((x, y))
total = comb(n, 3)
for l in lines:
    total -= comb(lines[l], 3)
print(total)
