using System;

namespace treci
{
    class Program
    {
        struct Tacka
        {
            public long x;
            public long y;
        }
        static double Ugao (Tacka a, Tacka b)
        {
            if ((a.x - b.x)==0) return 0;
            else return ((a.y - b.y) / (a.x - b.x));
        }
        static bool Paralelne (Tacka[] t)
        {
            if (Ugao(t[0], t[1]) == Ugao(t[0], t[1])) return true;
            else if (Ugao(t[0], t[2]) == Ugao(t[1], t[3])) return true;
            else if (Ugao(t[0], t[3]) == Ugao(t[1], t[2])) return true;
            else return false;
        }

        static void Kombinacije(Tacka[] arr, int n, int r, int index, Tacka[] komb, int i, ref long brojac)
        {
            if (index == r)
            {
                Izbroji(komb, ref brojac);
                Console.WriteLine("k");
                return;
                
            }

            if (i >= n)
                return;
            komb[index] = arr[i];
            Kombinacije(arr, n, r, index + 1, komb, i + 1,ref brojac);
            Kombinacije(arr, n, r, index, komb, i + 1, ref brojac);
        }
        static long Izbroji(Tacka[] t, ref long brojac)
        {
            if (Paralelne(t)) brojac++;
            return brojac;
        }
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            Tacka[] tacke = new Tacka[n];
            string[] s;
            for (int i = 0; i < n; i++)
            {
                s = Console.ReadLine().Split();
                tacke[i].x = int.Parse(s[0]);
                tacke[i].y = int.Parse(s[1]);
            }
            long brojac = 0;
            Tacka[] komb = new Tacka[4];
            if (n>=4)
                Kombinacije(tacke, n, 4, 0, komb, 0,ref brojac);
            Console.WriteLine(brojac);
            

        }
    }
}