#include <bits/stdc++.h>

using namespace std;

struct tacka
{
    int x, y;
};

bool cmp(tacka a, tacka b)
{
    return(a.x < b.x || (a.x == b.x && a.y < b.y));
}

int main()
{
    int n; cin >> n;
    int x[n], y[n];

    for(int i = 0; i < n; i++)
    {
        cin >> x[i] >> y[i];
    }

    int broj = 0;
    tacka niz[2 * n * n];

    for(int i = 0; i < n; i++)
    {
        for(int j = i + 1; j < n; j++)
        {
            niz[broj].x = 2 * x[i] + x[j];
            niz[broj].y = 2 * y[i] + y[j];
            broj++;
        }
    }

    for(int i = 0; i < n; i++)
    {
        for(int j = i + 1; j < n; j++)
        {
            niz[broj].x = x[i] + 2 * x[j];
            niz[broj].y = y[i] + 2 * y[j];
            broj++;
        }
    }

    sort(niz, niz + broj, cmp);

    int rez = 0;
    int temp = 1;

    for(int i = 1; i < broj; i++)
    {
        if(niz[i].x == niz[i - 1].x && niz[i].y == niz[i - 1].y)
        {
            temp++;
        }
        else
        {
            rez += temp * (temp - 1) / 2;
            temp = 1;
        }
    }

    cout << rez;

    return 0;
}