using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        int n = int.Parse(Console.ReadLine());
        double[] D = new double[n];
        for(int i = 0; i < n; i++)
        {
            D[i] = (long)(double.Parse(Console.ReadLine()) * 1000000000 + 0.5);
        }
        int[,] hist = new int[64, 64];
        foreach(var x in D)
        {
            var n2 = 0;
            var n5 = 0;
            var current = x;
            while (current % 2 == 0)
            {
                n2++;
                current /= 2;
            }
            while (current % 5 == 0)
            {
                n5++;
                current /= 5;
            }
            hist[n2, n5]++;
        }
        long ans = 0;
        //左の数のi=(２で割れる回数),j=(5で割れる回数)
        for(int i = 0; i < 64; i++)
        {
            for(int j = 0; j < 64; j++)
            {
                //右の数のp=(２で割れる回数),q=(5で割れる回数)
                for (int p = 0; p < 64; p++)
                {
                    for(int q = 0; q < 64; q++)
                    {
                        //最初に10^9で掛けているので、i+p>=18超えないと正の整数にならない
                        if(i+p>=18 && j + q >= 18)
                        {
                            if (i == p && j == q) ans += (1L * hist[i, j] * (hist[i, j] - 1));
                            else ans += 1L * hist[i, j] * hist[p, q];
                        }
                    }
                }
            }
        }
        Console.WriteLine(ans / 2);
    }
}

//namespace A
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            int n = int.Parse(Console.ReadLine());
//            var A = new List<decimal>();//整数
//            var B = new List<decimal>();//小数
//            for (int i = 0; i < n; i++)
//            {
//                decimal t = decimal.Parse(Console.ReadLine());
//                if (t % 1 == 0) A.Add(t);
//                else B.Add(t);
//            }
//            int a = A.Count;
//            int b = B.Count;
//            int cnt = a * (a-1)/2;
//            for (int i = 0; i < b-1; i++)
//            {
//                for (int j = i + 1; j < b; j++)
//                {
//                    decimal t = B[i] * B[j];
//                    if (t % 1 == 0)
//                    {
//                        //Console.WriteLine($"{B[i]}*{B[j]}={t}");
//                        cnt++;
//                    }
//                }
//            }
//            for(int i = 0; i < b; i++)
//            {
//                for(int j = 0; j < a; j++)
//                {
//                    decimal t = B[i] * A[j];
//                    if (t % 1 == 0)
//                    {
//                        //Console.WriteLine($"{B[i]}*{A[j]}={t}");
//                        cnt++;
//                    }
//                }
//            }
//            Console.WriteLine(cnt);
//        }
//    }
//}
//namespace A
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            int n = int.Parse(Console.ReadLine());
//            var L = new List<double>();
//            for (int i = 0; i < n; i++)
//            {
//                double t = double.Parse(Console.ReadLine());
//                var s = t * 1000000;
//                if (s % 1 == 0) L.Add(t);
//            }
//            int cnt = 0;
//            int m = L.Count;
//            for (int i = 0; i < m - 1; i++)
//            {
//                for (int j = i + 1; j < m; j++)
//                {
//                    double t = L[i] * L[j];
//                    if (t % 1 == 0)
//                    {
//                        cnt++;
//                    }
//                }
//            }
//            Console.WriteLine(cnt);
//        }
//    }
//}

//TLE
//namespace A
//{
//    class Program
//    {
//        static void Main(string[] args)
//        {
//            int n = int.Parse(Console.ReadLine());
//            decimal[] A = new decimal[n];
//            for(int i=0; i < n; i++)
//            {
//                A[i] = decimal.Parse(Console.ReadLine());
//            }
//            int cnt = 0;
//            for(int i = 0; i < n - 1; i++)
//            {
//                for(int j = i+1; j < n; j++)
//                {
//                    decimal t = A[i] * A[j];
//                    if (t % 1 == 0)
//                    {
//                        cnt++;
//                    }
//                }
//            }
//            Console.WriteLine(cnt);
//        }
//    }
//}


Measured memory_bytes: 39164