#include <iostream>
#include <cmath>
using namespace std;

struct lokejsn
{
    int x,y;
};

bool paralelni(struct lokejsn a,struct lokejsn b,struct lokejsn c,struct lokejsn d)
{
    float p=((float)a.x-(float)b.x)/((float)a.y-(float)b.y);
    float q=((float)c.x-(float)d.x)/((float)c.y-(float)d.y);

    if(p==q)return true;
    else return false;
}

int dupli(struct lokejsn a,struct lokejsn b,struct lokejsn c,struct lokejsn d)
{
    float prva=sqrt(pow(a.x-b.x, 2)+pow(a.y-b.y,2));
    float druga=sqrt(pow(c.x-d.x, 2)+pow(c.y-d.y,2));

    if(prva<druga)swap(prva,druga);
    if(druga*2==prva)return 1;
    else return 0;
}

int main()
{
    int n,br=0;
    cin>>n;
    if(n<4)
    {
        cout<<br;
        return 0;
    }
    lokejsn lok[n];
    for(int i=0;i<n;i++)
        cin>>lok[i].x>>lok[i].y;
    for(int a=0;a<n-3;a++)
    {
        for(int b=a+1;b<n-2;b++)
        {
            for(int c=b+1;c<n-1;c++)
            {
                for(int d=c+1;d<n;d++)
                {
                    if(paralelni(lok[a],lok[c],lok[b],lok[d]))br+=dupli(lok[a],lok[c],lok[b],lok[d]);
                    else if(paralelni(lok[a],lok[b],lok[c],lok[d]))br+=dupli(lok[a],lok[b],lok[c],lok[d]);
                    else if(paralelni(lok[a],lok[b],lok[d],lok[c]))br+=dupli(lok[a],lok[b],lok[d],lok[c]);
                    else if(paralelni(lok[b],lok[c],lok[d],lok[a]))br+=dupli(lok[b],lok[c],lok[d],lok[a]);
                    else if(paralelni(lok[b],lok[d],lok[c],lok[a]))br+=dupli(lok[b],lok[d],lok[c],lok[a]);
                    else if(paralelni(lok[d],lok[a],lok[c],lok[b]))br+=dupli(lok[d],lok[a],lok[c],lok[b]);

                }
            }
        }
    }

    cout<<br;

    return 0;
}