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.
from sys import stdin
from collections import defaultdict
from math import atan2, degrees

rints = lambda: [int(x) for x in stdin.readline().split()]
rints_2d = lambda n: [rints() for _ in range(n)]


def slop():
    deg = degrees(atan2(a[j][1] - a[i][1], a[j][0] - a[i][0]))
    if deg == 180:
        deg = 0
    elif abs(deg) == 90:
        deg = 90
    return (deg + 180) % 180


n = int(input())
a, ans, mem = rints_2d(n), 0, defaultdict(int)

for i in range(n - 1):
    for j in range(i + 1, n):
        slope = slop()
        mem[i, slope] += 1

for i in range(n - 1):
    for j in range(i + 1, n):
        slope = slop()
        ans += (n - (i + 2)) - (mem[i, slope] - 1)
# print(ans)
print(ans // 2)
