#include <cstdio>
#include <map>
#include <algorithm>
#include <cassert>
using namespace std;
#define FOR(i,s,d) for(i=(s);i<(d);++i)
#define mp make_pair
#define nmax 1024
#define x first
#define y second
#define BAZA 666013
#define PII pair <int,int>
int n,sol;
map < PII , int> H;
PII P[nmax];
char s[128];
int A[BAZA];
int getit()
{
int x,y;
scanf("%s",s);
if(s[0]=='-')
{
sscanf(s+1,"%d.%04d",&x,&y);
x=-x*10000-(y/1000)*1000-((y/100)%10)*100-((y/10)%10)*10-y%10;
}
else
{
sscanf(s,"%d.%04d",&x,&y);
x=x*10000+(y/1000)*1000+((y/100)%10)*100+((y/10)%10)*10+y%10;
}
return x*2;
}
int mod(int i)
{
return i>0?i:-i;
}
int f(PII A)
{
A.x=mod(A.x),A.y=mod(A.y);
return ((A.x*5)%BAZA+(A.y%BAZA)*101)%BAZA;
}
int main()
{
freopen("patrate3.in","r",stdin);
freopen("patrate3.out","w",stdout);
int i,x,y,dx,dy,mx,my,j;
scanf("%d",&n);
FOR(i,0,n)
{
x=getit(),y=getit();
P[i]=mp(x,y);
H[P[i]]++;
A[f(P[i])]=1;
assert(H[P[i]]<2);
}
sort(P,P+n);
PII tmp1,tmp2;
FOR(i,0,n) FOR(j,i+1,n)
{
mx=(P[i].x+P[j].x)>>1;
my=(P[i].y+P[j].y)>>1;
dx=mod(mx-P[i].x);
dy=mod(my-P[i].y);
if(P[i].y<P[j].y)
{
tmp1=mp(mx-dy,my+dx);
tmp2=mp(mx+dy,my-dx);
}
else
{
tmp1=mp(mx-dy,my-dx);
tmp2=mp(mx+dy,my+dx);
}
if(A[f(tmp1)]&&A[f(tmp2)]&&H[tmp1]&&H[tmp2])
sol++;
}
printf("%d\n",sol/2);
return 0;
}