10
-2 1
2 -2
-1 -2
0 0
2 -1
0 -2
2 2
0 2
-1 -1
1 -2
 40
-8 24
2 -1
1 -18
72 -70
5 -4
-308 436
-19 40
36 -35
-178 265
-1 2
-7 30
-1 0
3 -2
200 -285
17 -16
-35 74
0 -4
-86 106
-1 4
-7 6
0 1
-5 4
-2 3
6 -5
-4 5
181 -262
76 -118
0 0
-7 18
-58 104
-5 6
-6 12
-3 4
1 0
11 -10
-86 130
-3 6
153 -236
-183 270
-33 64
 5
0 -1
0 -2
0 -3
0 -4
0 -5
 10
0 1
-1 -1
1 1
-1 0
1 -1
-2 -1
-2 2
-2 0
0 -2
0 -1
 20
-1 18
-2 5
-5 4
2 -33
9 -18
0 0
11 -22
2 0
-1 2
-4 41
1 6
1 -2
6 -12
0 1
-3 6
3 -6
3 -8
-1 4
2 -5
1 0
 10
2 1
-1 0
-2 -1
-1 1
0 2
2 -2
0 0
-2 -2
0 -2
-2 1
 20
-3 -3
0 4
-3 1
1 1
-1 2
-4 4
3 -1
-3 0
0 2
4 0
2 3
2 4
4 -3
-4 3
-1 1
1 3
-2 4
1 -2
1 -1
3 0
 3
0 0
0 -1
0 1
 10
2 1
-1 1
0 0
-3 1
-2 -3
-1 -2
-1 -1
1 2
3 -2
0 -2
 3
3 3
1 2
1 1
 4
0 0
1 0
2 0
3 0
 9
1 1
1 0
0 1
0 0
-1 0
-1 1
-1 -1
1 -1
0 -1
 7
1 1
-1 -1
1 0
0 1
-1 0
0 -1
0 0

4
 57
 4
 5
 21
 4
 10
 1
 1
 0
 2
 8
 3

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <ctime>
#include <cmath>
#include <conio.h>

#include <algorithm>
#include <string>
#include <map>
#include <set>
#include <list>
#include <vector>
#include <iostream>
#include <utility>

#define MP make_pair
#define FF fflush(stdin)
#define PB push_back
#define ST first
#define ND second
#define LL long long
#define SZ(y) (int)(y).size()
#define ALL(x) (x).begin(),(x).end()
#define FOR(i,x,n) for(int(i)=x;(i)<(n);++(i))
#define FORN(i,x,n) for(int(i)=x;(i)<=(n);++(i))
#define RFOR(i,x,n) for(int(i)=x;(i)>=(n);--(i))
#define TR(c,i) for(typeof((c).begin()) i=(c).begin(); (i)!=(c).end(); ++(i))
#define TRR(c,i) for(typeof((c).rbegin()) i=(c).rbegin(); (i)!=(c).rend(); ++(i))

#define EPS 1E-06

using namespace std;

double sqr(double x) {
       return x*x;
}

int main() {
    int n;
    map< pair<int,int>,int> mp;
    pair<int,int> pp[3005];
    scanf("%d", &n);
    FOR(i,0,n) {
       int x,y;
       scanf("%d%d", &x,&y);
       pp[i] = MP(x,y);
       ++mp[pp[i]];
    }
    
    int ans = 0;
    FOR(i,0,n) {
       int xx, yy;
       FOR(j,i+1,n) {
          int cekx = abs(pp[i].ST-pp[j].ST)/2;
          int ceky = abs(pp[i].ND-pp[j].ND)/2;
          if (pp[i].ST > pp[j].ST)
             xx = pp[i].ST-cekx;
          else
             xx = pp[j].ST-cekx;
          if (pp[i].ND > pp[j].ND)
             yy = pp[i].ND-ceky;
          else
             yy = pp[j].ND-ceky;
//          cout << i << j << " " << xx << yy << endl;
          if (mp.find(MP(xx,yy))!=mp.end() && MP(xx,yy)!=pp[i] && MP(xx,yy)!=pp[j]) {
             double c1 = sqrt(sqr(fabs(pp[i].ST-xx))+sqr(fabs(pp[i].ND-yy)));
             double c2 = sqrt(sqr(fabs(pp[j].ST-xx))+sqr(fabs(pp[j].ND-yy)));
             if (fabs(c1-c2) <= EPS) ++ans;
          }
       }
       
    }
    
    printf("%d\n", ans);
    
    
//    system("pause");
    return 0;
}
