using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication9
{
    class Program
    {
        struct duz
        {
            public int x1;
           public int x2;
           public int y1;
           public int y2;
           public long duzina;
        }
        static void sortiraj(duz[] duzi, int n)
        {
            for (int i = 0; i < n; i++)
            {
                for (int j = i; j < n; j++)
                {
                    if (duzi[i].duzina > duzi[j].duzina)
                    {
                        duz p = duzi[i];
                        duzi[i] = duzi[j];
                        duzi[j] = p;
                    }
                }
            }
        }
        static int binarnap(duz[] duzi, int n, long x)
        {
            int levi = 0;
            int desni = n -1;
            int broj = 0;
            while (levi < desni)
            {
                int sred = (levi + desni) / 2;
                if (duzi[sred].duzina >= x)
                {
                    desni = sred;
                }
                else 
                {
                    broj += sred - levi + 1;
                    levi = sred + 1;
                }
                
            }
            return broj;
        }
        static long udaljenost(int x1, int y1, int x2, int y2)
        {
            return Math.Abs(x1 - x2) * Math.Abs(x1 - x2) + Math.Abs(y1 - y2) * Math.Abs(y1 - y2);
        }
        static bool paralelne(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
        {
            if ((x2 - x1) * (y4 - y3) == (y2 - y1) * (x4 - x3)) return true;
            return false;
        }
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            duz[] duzi = new duz[n*(n-1)/2+1];
            int[] x = new int[n];
            int[] y = new int[n];
            for (int i = 0; i < n; i++)
            {
                string s = Console.ReadLine();
                string[] s1 = s.Split(' ');
                x[i] = Convert.ToInt32(s1[0]);
                y[i] = Convert.ToInt32(s1[1]);
            }
            int k = 0;
            for (int i = 0; i < n; i++) 
            {
                for (int j = i + 1; j < n; j++) 
                {
                    duzi[k].x1 = x[i];
                    duzi[k].y1 = y[i];
                    duzi[k].x2 = x[j];
                    duzi[k].y2 = y[j];
                    duzi[k].duzina = udaljenost(duzi[k].x1, duzi[k].y1, duzi[k].x2, duzi[k].y2);
                    k++;   
                }
            }
            int sumnj = 0;
            sortiraj(duzi, k);
            for (int i = 0; i < k; i++)
            {
                int b = binarnap(duzi, k, duzi[i].duzina * 4);
                while (duzi[b].duzina == duzi[i].duzina * 4) 
                {
                    if (paralelne(duzi[b].x1, duzi[b].y1, duzi[b].x2, duzi[b].y2, duzi[i].x1, duzi[i].y1, duzi[i].x2, duzi[i].y2))
                    {
                        sumnj++;
                    }
                    b++;
                }
            }
           
               
            Console.WriteLine(sumnj);
           
        }
    }
}