map,pair>,ll>m; ll@n,@(x,y)[n],z=0; rep(i,n){ rep(j,i){ ll cx=x[i]+x[j]; ll cy=y[i]+y[j]; ll dx=x[i]-x[j]; ll dy=y[i]-y[j]; if(dy==0){ m[{{cx,cy},{1,0}}]+=1; z+=m[{{cx,cy},{0,1}}]; }else{ ll g=gcd(abs(dx),abs(dy)); dx/=g; dy/=g; if(dy<0){ dx=-dx; dy=-dy; } m[{{cx,cy},{dx,dy}}]+=1; ll ex=-dy; ll ey=dx; if(ey<0){ ex=-ex; ey=-ey; } z+=m[{{cx,cy},{ex,ey}}]; } } } wt(z);