using System;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Program
    {
        struct tacka
        {
            public int x;
            public int y;
        }
        struct dijag
        {
            public double duzina;
            public double tan;
        }
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            tacka[] t = new tacka[n];
            for (int i = 0; i < n; i++)
            {
                String[] o = Console.ReadLine().Split();
                t[i].x = int.Parse(o[0]);
                t[i].y = int.Parse(o[1]);
            }
            List<int> dx = new List<int>();
            List<int> dy = new List<int>();
            List<dijag> dd = new List<dijag>();
            List<dijag> dd1 = new List<dijag>();
            int br = 0;
            for (int i = 0; i < n - 1; i++) 
            {
                for (int j = i; j < n; j++)
                {
                    if (t[i].x == t[j].x)
                    {
                        int k = Math.Abs(t[i].y - t[j].y);
                        if (dy.Contains(k * 2) || dy.Contains(k / 2)) 
                            br++;
                        else if (k > 0)
                            dy.Add(k);
                    }
                    else if (t[i].y == t[j].y)
                    {
                        int k = Math.Abs(t[i].x - t[j].x);
                        if (dx.Contains(k * 2) || dx.Contains(k / 2))
                            br++;
                        else if (k > 0) 
                            dx.Add(k);
                    }
                    else
                    {
                        double l = Math.Sqrt((t[i].x - t[j].x) * (t[i].x - t[j].x) + (t[i].y - t[j].y) * (t[i].y - t[j].y));
                        double tangens = Math.Abs(t[i].x - t[j].x) / Math.Abs(t[i].y - t[j].y);
                        dijag novo = new dijag();
                        novo.duzina = l;
                        novo.tan = tangens;
                        if ((t[i].x > t[j].x && t[i].y > t[j].y) || (t[i].x < t[j].x && t[i].y < t[j].y))
                            dd.Add(novo);
                        else
                            dd1.Add(novo);

                    }
                }
            }
            for (int i = 0; i < dd.Count - 1; i++)
            {
                for (int j = i; j < dd.Count; j++)
                {
                    if (dd[i].tan == dd[j].tan && (dd[i].duzina == 2 * dd[j].duzina || dd[i].duzina * 2 == dd[j].duzina))
                    {
                        br++;
                    }
                }
            }
            for (int i = 0; i < dd1.Count - 1; i++)
            {
                for (int j = i; j < dd1.Count; j++)
                {
                    if (dd1[i].tan == dd1[j].tan && (dd1[i].duzina == 2 * dd1[j].duzina || dd1[i].duzina * 2 == dd1[j].duzina))
                    {
                        br++;
                    }
                }
            }
            Console.WriteLine(br);
        }
    }
}