using System;

    class Program
    {
        public struct Tacka
        {
            public int x;
            public int y;
        }

        public static bool ParalelneIDuple(Tacka a, Tacka b, Tacka c, Tacka d)
        {
            
            bool paralelne = false;
            bool duple = false;
            if(((a.x - b.x == 0)&&(c.x - d.x == 0))||((a.y - b.y == 0)&&(c.y - d.y == 0)))
            {
                paralelne = true;
            }
            else if ((d.x - c.x) != 0 && (b.x - a.x) != 0 && Math.Abs(b.y - a.y) / Math.Abs(b.x - a.x) == Math.Abs(d.y - c.y) / Math.Abs(d.x - c.x))
            {
                paralelne = true;
            }

            if(paralelne)
            {
                double stranajedna = Math.Sqrt(Math.Pow(Math.Abs(a.x - b.x), 2) + Math.Pow(Math.Abs(a.y - b.y), 2));
                double stranadruga = Math.Sqrt(Math.Pow(Math.Abs(c.x - d.x), 2) + Math.Pow(Math.Abs(c.y - d.y), 2));
                if (stranajedna == 2 * stranadruga || stranadruga == 2 * stranajedna)
                {
                    duple = true;
                }

                if (duple)
                {
                    return true;
                }
            }
            
            return false;
        }

        public static int brojac = 0;

        static void Kombinacije_(Tacka[] niz,int[] kombinacija, int n, int k, int br)
        {
            int i;
            if (br == k)
            {
                if(ParalelneIDuple(niz[kombinacija[0]-1], niz[kombinacija[1]-1], niz[kombinacija[2]-1], niz[kombinacija[3]-1]) || ParalelneIDuple(niz[kombinacija[0]-1],  niz[kombinacija[2]-1], niz[kombinacija[1]-1], niz[kombinacija[3]-1]) || ParalelneIDuple(niz[kombinacija[0]-1], niz[kombinacija[3]-1], niz[kombinacija[2]-1],   niz[kombinacija[1]-1]))
                {
                    brojac++;
                }
            }
            else
            {
                if (br == 0)
                {
                    i = 1;
                }
                else
                {
                    i = kombinacija[br - 1] + 1;
                }

                for (; i <= n - k + br + 1; i++)
                {
                    kombinacija[br] = i;
                    Kombinacije_(niz, kombinacija, n, k, br + 1);
                }
            }
        }
        static void Main(string[] args)
        {
            int n = Convert.ToInt32(Console.ReadLine());
            Tacka[] niz = new Tacka[n];

            string[] unos;
            for (int i = 0; i < n; i++)
            {
                unos = Console.ReadLine().Split();
                niz[i].x = Convert.ToInt32(unos[0]);
                niz[i].y = Convert.ToInt32(unos[1]);
            }

            int[] kombinacija = new int[n];
            int br = 0;
            for (int i = 0; i < kombinacija.Length; i++)
            {
                kombinacija[i] = i + 1;
            }
            
            Kombinacije_(niz,kombinacija, n, 4, br);
            Console.WriteLine(brojac);

        }
    }