Problem:
Score : 300 points

Problem Statement

You are given N real values A_1, A_2, \ldots, A_N.
Compute the number of pairs of indices (i, j)
such that i < j and the product A_i \cdot A_j is integer.

Constraints

2 \leq N \leq 200\,000

0 < A_i < 10^4

A_i is given with at most 9 digits after the decimal.

Input

Input is given from Standard Input in the following format.

N
A_1
A_2
\vdots
A_N

Output

Print the number of pairs with integer product A_i \cdot A_j (and i < j).

Sample Input 1

5
7.5
2.4
17.000000001
17
16.000000000

Sample Output 1

3

There are 3 pairs with integer product:

7.5 \cdot 2.4 = 18

7.5 \cdot 16 = 120

17 \cdot 16 = 272

Sample Input 2

11
0.9
1
1
1.25
2.30000
5
70
0.000000001
9999.999999999
0.999999999
1.000000001

Sample Output 2

8

Solution in Ruby (2.7.1) (judge verdict: Time Limit Exceeded)

N = gets.to_i
A_seisu = []
A_shosu = []
N.times{
  tmp = Rational(gets.chomp)
  if tmp.denominator == 1
    A_seisu.push tmp.to_i
  else
    if tmp.denominator < 10**5
      A_shosu.push tmp
    end
  end
}

#p A_seisu
#p A_shosu

count = 0

count += A_seisu.size * (A_seisu.size - 1) / 2

if A_shosu.size > 1
  0.upto(A_shosu.size-2){ |i|
    (i+1).upto(A_shosu.size-1){ |j|
      #puts A_shosu[i], A_shosu[j]
      tmp = A_shosu[i] * A_shosu[j]
      #p tmp
      if tmp == tmp.to_i
        #puts 'yes'
        count += 1
      end
      #puts
    }
  }
end

tmp_count = 0
A_seisu.each{ |a_i|
  A_shosu.each{ |a_j|
    tmp = a_j * a_i
    if tmp == tmp.to_i
      #puts 'yes'
      count += 1
    end
  }
}


puts count