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.
# your code goes here
EPS = 0.00000001

class Vec:
    def __init__(self, x, y):
        self.x = x
        self.y = y

class Point:
    def __init__(self, x=0, y=0):
        self.x = x
        self.y = y

def toVec(a, b):
    return Vec(b.x - a.x, b.y - a.y)

def cross(a, b):
    return a.x * b.y - a.y * b.x

def collinear(p1, p2, p3):
    return abs(cross(toVec(p1, p2), toVec(p1, p3))) < EPS

while True:
    try:
        n = int(input())
    except EOFError:
        break
        
    v = []
    ans = 0
    
    for i in range(n):
        x, y = map(float, input().split())
        v.append(Point(x, y))
    
    for i in range(n - 2):
        for j in range(i + 1, n - 1):
            for k in range(j + 1, n):
                if not collinear(v[i], v[j], v[k]):
                    ans += 1
    
    print(ans)

	 	 				  	   	   			 			 	 			