#include<cstring>
#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
const int maxn = 2e3+10;
typedef long long ll;
ll num[maxn];
struct node
{
ll x,y;
}st[maxn];
ll distance(ll x1,ll y1,ll x2, ll y2)
{
return ((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
int main()
{
int n ;
cin>>n;
for(int i = 0 ; i< n ; i++)
{
cin>>st[i].x>>st[i].y;
}
ll sum = 0 ;
for(int i = 0 ; i <n ;i ++)
{
map<ll,ll>mm;
for(int j = 0 ; j<n ; j++)
{
if(i!=j)
{
ll s=distance(st[i].x,st[i].y,st[j].x,st[j].y);
// cout<<s<<endl;
mm[s]++;
}
}
map<ll,ll>::iterator it; //遍历map写法
for(it = mm.begin();it!=mm.end();it++)
{
if(it->second>=3)
{
ll k = it->second;
// cout<<k<<endl;
sum+=k*(k-1)*(k-2)/6; //C k 3
}
}
}
cout<<sum<<endl;
return 0;
}