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.
factorial=lambda  x: factorial(x-1)*x if x>1 else 1
def sochit(col):
    if col>2:
        cols=factorial(col)/(factorial(3)*factorial(col-3))
    else:
        cols=0
    return int(cols)
def pis(mas):
    for j in mas:
        print(" ".join(j))
mas=[["@" for i in range(201)] for i2 in range(201)]
col=int(input().strip())
for j in range(col):
    d=input().strip().split()
    mas[int(d[0])+100][int(d[1])+100]="*"
cols=sochit(col)
a=b=n=n1=n2=g=g1=g2=0
for x in range(201):
    for y in range(201):
        if mas[x][y]!="@":
            a+=1
        if mas[y][x]!="@":
            b+=1
        if x==y:
            if mas[x][y]!="@":
             n+=1
        if (x+y)<=200 and (x+y)!=y:
            if mas[x+y][y]!="@":
                n1+=1
            if mas[y][x+y]!="@":
                n2+=1
        if (x+y)==200:
           if mas[x][y]!="@":
            g+=1
        if (x-y)>=0 and x!=200:
            if mas[x-y][y]!="@":
                g1+=1
            if mas[200-y][200-x+y]!="@":
                g2+=1
    cols-=sochit(a)
    cols-=sochit(b)
    cols-=sochit(n1)
    cols-=sochit(n2)
    cols-=sochit(g1)
    cols-=sochit(g2)
    a=b=n1=n2=g1=g2=0
cols-=sochit(n)
cols-=sochit(g)
print(cols)