using System;

namespace Zadatak3
{
    class Program
    {
        class Takmicar
        {
            public Takmicar(int x, int y)
            {
                this.x = x;
                this.y = y;
            }
            public int x;
            public int y;
        }

        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            Takmicar[] takmicari = new Takmicar[n];
            for (int i = 0; i < n; i++)
            {
                string[] input = Console.ReadLine().Split();
                takmicari[i] = new Takmicar(int.Parse(input[0]), int.Parse(input[1]));
            }
            double AB, CD, k1, k2;
            Takmicar[,] temp = new Takmicar[n, 4];
            temp[0, 0] = new Takmicar(69420, 69420);
            temp[0, 1] = new Takmicar(69420, 69420);
            temp[0, 2] = new Takmicar(69420, 69420);
            temp[0, 3] = new Takmicar(69420, 69420);
            bool ponavljanje;
            int resenje = 0;
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int k = 0; k < n; k++)
                    {
                        for (int l = 0; l < n; l++)
                        {
                            ponavljanje = false;
                            AB = Math.Sqrt(Math.Pow((takmicari[i].x - takmicari[j].x), 2) + Math.Pow((takmicari[i].y - takmicari[j].y), 2));
                            CD = Math.Sqrt(Math.Pow((takmicari[k].x - takmicari[l].x), 2) + Math.Pow((takmicari[k].y - takmicari[l].y), 2));

                            k1 = (takmicari[j].x - takmicari[i].x == 0) ? 0 : (takmicari[j].y - takmicari[i].y) / (takmicari[j].x - takmicari[i].x);
                            k2 = (takmicari[l].x - takmicari[k].x == 0) ? 0 : (takmicari[l].y - takmicari[k].y) / (takmicari[l].x - takmicari[k].x);
                            for (int p = 0; p < resenje + 1; p++)
                            {
                                if ((temp[p, 0] == takmicari[i] || temp[p, 0] == takmicari[j] || temp[p, 0] == takmicari[k] || temp[p, 0] == takmicari[l])
                                && (temp[p, 1] == takmicari[i] || temp[p, 1] == takmicari[j] || temp[p, 1] == takmicari[k] || temp[p, 1] == takmicari[l])
                                && (temp[p, 2] == takmicari[i] || temp[p, 2] == takmicari[j] || temp[p, 2] == takmicari[k] || temp[p, 2] == takmicari[l])
                                && (temp[p, 3] == takmicari[i] || temp[p, 3] == takmicari[j] || temp[p, 3] == takmicari[k] || temp[p, 3] == takmicari[l]))
                                    ponavljanje = true;
                            }

                            if (AB == 2 * CD && AB != 0 && CD != 0 && k1 == k2 && !ponavljanje && (i != j && i != k && i != l && j != k && j != l && k != l))
                            {
                                temp[resenje, 0] = takmicari[i];
                                temp[resenje, 1] = takmicari[j];
                                temp[resenje, 2] = takmicari[k];
                                temp[resenje, 3] = takmicari[l];
                                resenje++;
                            }
                        }
                    }
                }
            }
            Console.WriteLine(resenje);
        }
    }
}