#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll N,res=0,del;
struct tacka{
   ll x,y;
}niz[1505];
struct prava{
   ll razx,razy;
   bool operator == (const prava &k) const {
      return razx==k.razx and razy==k.razy;
   };
}pp;
ll nzd(ll a,ll b){
   if(b==0)
      return a;
   return nzd(b,a%b);
}
prava linija(tacka a,tacka b){
   if(a.x>b.x)
      swap(a,b);
   pp.razx=a.x-b.x;
   pp.razy=a.y-b.y;
   del=nzd(pp.razx,pp.razy);
   pp.razx/=del;
   pp.razy/=del;
   if((pp.razy<0 and pp.razx>0) or (pp.razy<0 and pp.razx<0)){
      pp.razy=-pp.razy;
      pp.razx=-pp.razx;
   }
//   cout<<a.x<<" "<<a.y<<"  "<<b.x<<" "<<b.y<<endl;
  // cout<<pp.razx<<" "<<pp.razy<<endl;
   return pp;
}
ll udaljenost(tacka a,tacka b){
   return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
}
int main(){
   ios_base::sync_with_stdio(false);
   cin.tie(0);
   cout.tie(0);
   cin>>N;
   for(int i=1;i<=N;i++){
      cin>>niz[i].x>>niz[i].y;
      niz[i].x+=1e8;
      niz[i].y+=1e8;
   }
   for(int i=1;i<=N;i++)
      for(int j=i+1;j<=N;j++)
         for(int k=j+1;k<=N;k++)
            for(int d=k+1;d<=N;d++){
               if(linija(niz[i],niz[j])==linija(niz[k],niz[d])){
                  if((udaljenost(niz[i],niz[j])==4*udaljenost(niz[k],niz[d])) or (udaljenost(niz[i],niz[j])*4==udaljenost(niz[k],niz[d])))
                     res++;
               }
            }
   cout<<res<<endl;
   return 0;
}