using System;

namespace ConsoleApp2
{
    class Program
    {

        static int brojac = 0;

        static void IspisKombinacija(Tacka[] nizTacaka, int[] nizKomb, int br, int k, int n)
        {
            if (br == k)
            {
                if (DaLiJeTrapez(nizTacaka[nizKomb[0] - 1], nizTacaka[nizKomb[1] - 1], nizTacaka[nizKomb[2] - 1], nizTacaka[nizKomb[3] - 1])) brojac++;
                return;
            }
            int prvi = 1;
            if (br != 0) prvi = nizKomb[br - 1] + 1;
            int poslednji = n - k + br + 1;
            for (int i = prvi; i <= poslednji; i++)
            {
                nizKomb[br] = i;
                IspisKombinacija(nizTacaka, nizKomb, br + 1, k, n);
            }
        }

        static bool DaLiJeTrapez(Tacka t1, Tacka t2, Tacka t3, Tacka t4)
        {
            if (Math.Abs(t1.Y - t2.Y) * Math.Abs(t3.X - t4.X) == Math.Abs(t1.X - t2.X) * Math.Abs(t3.Y - t4.Y))
            {
                if (DaLiSuDobreOsnove(t1, t2, t3, t4)) return true;
            }
            if (Math.Abs(t1.Y - t3.Y) * Math.Abs(t2.X - t4.X) == Math.Abs(t1.X - t3.X) * Math.Abs(t2.Y - t4.Y))
            {
                if (DaLiSuDobreOsnove(t1, t3, t2, t4)) return true;
            }
            if (Math.Abs(t1.Y - t4.Y) * Math.Abs(t2.X - t3.X) == Math.Abs(t1.X - t4.X) * Math.Abs(t2.Y - t3.Y))
            {
                if (DaLiSuDobreOsnove(t1, t4, t2, t3)) return true;
            }
            return false;
        }

        static bool DaLiSuDobreOsnove(Tacka t1, Tacka t2, Tacka t3, Tacka t4)
        {
            if ((Math.Sqrt(Math.Abs(t1.X - t2.X) * Math.Abs(t1.X - t2.X) + Math.Abs(t1.Y - t2.Y) * Math.Abs(t1.Y - t2.Y)) == 2 * Math.Sqrt(Math.Abs(t3.X - t4.X) * Math.Abs(t3.X - t4.X) + Math.Abs(t3.Y - t4.Y) * Math.Abs(t3.Y - t4.Y))) || (2 * Math.Sqrt(Math.Abs(t1.X - t2.X) * Math.Abs(t1.X - t2.X) + Math.Abs(t1.Y - t2.Y) * Math.Abs(t1.Y - t2.Y)) == Math.Sqrt(Math.Abs(t3.X - t4.X) * Math.Abs(t3.X - t4.X) + Math.Abs(t3.Y - t4.Y) * Math.Abs(t3.Y - t4.Y))))
            {
                return true;
            }
            return false;
        }

        struct Tacka
        {
            public int X;
            public int Y;
        }

        static public void Main()
        {
            int n = Convert.ToInt32(Console.ReadLine());
            Tacka[] nizTacaka = new Tacka[n];
            string[] s;
            for (int i = 0; i < n; i++)
            {
                s = Console.ReadLine().Split();
                nizTacaka[i].X = Convert.ToInt32(s[0]);
                nizTacaka[i].Y = Convert.ToInt32(s[1]);
            }

            int[] arr = new int[n];
            for (int i = 0; i < n; i++)
            {
                arr[i] = i;
            }

            IspisKombinacija(nizTacaka, arr, 0, 4, n);
            Console.WriteLine(brojac);

        }
    }
}