CodeEff/ECCO huggingface dataset:
# Original solution
n=int(eval(input()))
count=0
for i in range(1,n):
    wan=n//i
    for j in range(1,wan+1):
        charo=i*j
        if charo>=n:
            break
        else:
            count+=1
    else:
        continue
print(count)

# Optimized solution
n=int(eval(input()))
count=0
for i in range(1,n):
    if i>=n/2:
        count+=1
        continue
    else:
        syou,amari=divmod(n,i)
        if amari==0:
            count+=syou-1
        else:
            count+=syou

print(count)
# Original solution
a = int(eval(input()))
cnt = 1
count =0
for i in range(1,a):
    for j in range(1,a):
        c = i*j
        num = a-c
        if num >0:
          count +=1
        else:
          break
            
print(count)

# Optimized solution
a = int(eval(input()))
cnt = 1
count =0
for i in range(1,a):
    for j in range(1,a):
        if a>i*j:
          count +=1
        else:
          break
print(count)
# Original solution
n = int(eval(input()))

ans =  0

for i in range(1, n):
  for j in range(1, (n - 1) // i + 1):
    if i * j <= n - 1:
      ans += 1
    
print(ans)

# Optimized solution
n = int(eval(input()))

ans =  0

for i in range(1, n):
  ans += (n - 1) // i 
    
print(ans)
# Original solution
N = int(eval(input()))
count = 0
for A in range(1,N):
  for B in range(1,int(N/A)+1+1):
    if N - A * B >= 1:
      count += 1
print(count)

# Optimized solution
N = int(eval(input()))
count = 0
for A in range(1,int((N)**0.5)+2):
  for B in range(A,int((N)/A)+2):
    if A*B < N:
      count += 1
      if A != B:
        count += 1
print(count)
# Original solution
from bisect import bisect_right

N = int(eval(input()))
num = [i for i in range(1, N)]
cnt = 0
for a in range(1, N):
    n = (N - 1) // a
    b = bisect_right(num, n)
    cnt += b

print(cnt)


# Optimized solution
N = int(eval(input()))
cnt = 0
for a in range(1, N):
    n = (N - 1) // a
    cnt += n

print(cnt)
# Original solution
N = int(eval(input()))

ans = 0
i = 1
while i < N:
    j = 1
    while i*j < N:
        ans += 1
        j += 1
    i+= 1

print(ans)


# Optimized solution
N = int(eval(input()))

ans = 0
i = 1
while i**2 < N:
    j = i
    while i*j < N:
        if i == j:
            ans += 1
        else:
            ans += 2
        j += 1
    i+= 1

print(ans)
# Original solution
import itertools
N = int(eval(input()))
ans = 0
for a in range(2,N - 1):
    for b in range(2,N - 1):
        if a * b < N:
            ans += 1
        elif a * b >= N:
            break
print((ans + ((N - 1) * 2 - 1)))

# Optimized solution
import math
N = int(eval(input()))
ans = 0
for a in range(1,N):
    ans = ans + math.floor((N - 1)/a)
print(ans)
# Original solution
n = int(eval(input()))

ans = 0
for a in range(1, n):
    for b in range(1, n):
        if a * b < n:
            ans += 1
        else:
            break
print(ans)

# Optimized solution
n = int(eval(input()))

ans = 0
for a in range(1, n):
    ans += (n - 1) // a
print(ans)
# Original solution
n = int(eval(input()))
ans = 0
for a in range(1, n+1):
    for b in range(1, n+1):
        if a*b < n:
            ans += 1
        else:
            break
print(ans)

# Optimized solution
n = int(eval(input()))
ans = 0
for a in range(1, n+1):
    ans += (n-1)//a
print(ans)
# Original solution
N = int(eval(input()))

count = 0

for i in range(N - 1):
    A = i + 1
    for j in range(N-1):
        B = j + 1

        if A * B < N:
            count += 1
        else:
            break

print(count)

# Optimized solution
N = int(eval(input()))

count = 0

for i in range(N - 1):
    A = i + 1
    B = N / A

    if B == int(B):
        count += B-1
    else:
        count += int(B)

print((int(count)))
# Original solution
N = int(eval(input()))
counter = 0
for A in range(1,N):
  for B in range(1,N//A+1):
    if 0< N - A*B:
        counter += 1
print(counter)

# Optimized solution
N = int(eval(input()))
counter = 0
for A in range(1,N):
  for B in range(1,N//A+1):
    if 0 < A*B < N:
        counter += 1
print(counter)
# Original solution
n = int(eval(input()))

count = 0
for a in range(1,n+1):
  for b in range(1,(n//a)+1):
    if n-b*a > 0:
      count += 1
print(count)

# Optimized solution
n = int(eval(input()))

count = 0
for a in range(1,n):
  count += (n-1)//a

print(count)
# Original solution
N = int(eval(input()))

cnt = 0
for A in range(1, N):
  for B in range(1, N // A + 1):
    if A * B < N:
      cnt += 1
      
print(cnt)

# Optimized solution
N = int(eval(input()))

cnt = 0
for A in range(1, N):
  for B in range(1, (N - 1) // A + 1):
    cnt += 1
      
print(cnt)
# Original solution
N=int(eval(input()))
c=0
for i in range(1,N+1):
  for j in range(1,N+1):
    if i*j<N:
      c+=1
    else:
      break
print(c)

# Optimized solution
N=int(eval(input()))
c=0
for i in range(1,N+1):
  d=(N-1)//i
  c+=d
  
print(c)
# Original solution
n = int(eval(input()))
ans = 0
t = 0
J = 0
for i in range(1,n):
    for j in range(i,n):
        if i*j >= n:break
        if i == j : t+=1
        ans +=1
        J = j


print((2*ans -t))


# Optimized solution
n = int(eval(input()))-1
ans = 0
t = 0
J = 0
for i in range(1,n+1): ans += n//(i) 
print(ans)
# Original solution
N = int(eval(input()))

ans = 0
for i in range(1, N):
    ans += (N - 1) // i
print(ans)


# Optimized solution
N = int(eval(input()))

ans = 0
for a in range(1, N):
    ans += (N - 1) // a

print(ans)
# Original solution
N=int(eval(input()))
#A,B,C>0 C=N-A*B
count=(N-1)*2-1
for A in range(2,N):
    for B in range(2,N):
        if N-(A*B)<0:
            break
        elif N-(A*B)>0:
            count+=1
            # print(A,B,N-A*B)
print(count)

# Optimized solution
N=int(eval(input()))
count=0
for A in range(1,N):
    count+=int((N-1)/A)
print(count)
# Original solution
N = int(eval(input()))
pair_list = []

ans = 0

for a in range(1, N+1):
    b = 1
    while (a*b < N):
        ans += 1
        b += 1
    
print(ans)


# Optimized solution
N = int(eval(input()))

ans = 0

for a in range(1, N+1):
    if N%a==0:
        b_max = int(N/a)-1
    else:
        b_max = int(N//a)
    
    ans += b_max
print(ans)
# Original solution
import sys
def input(): return sys.stdin.readline().rstrip()
def main():
    n = int(eval(input()))
    ans = 0
    for a in range(1,n):
        if a ** 2 >= n:
            break
        for b in range(a,n):
            if a * b >= n:
                break
            if a == b:
                ans += 1
            else:
                ans += 2
    print(ans)
        

if __name__=='__main__':
    main()

# Optimized solution
import sys
def input(): return sys.stdin.readline().rstrip()
def main():
    n = int(eval(input()))
    ans = 0
    for a in range(1,n):
        ans += -(-n//a) - 1
    print(ans)
        

if __name__=='__main__':
    main()
# Original solution
n = int(eval(input()))
a = 0
b = 0
c = 0
while a < n:
    a+=1
    b=0
    if a == n:
        break
    while a*b-n<0:
        b+=1
        if a*b-n>=0:
            break
        c+=1
print(c)

# Optimized solution
n = int(eval(input()))
a = 0
b = 0
c = 0
while a < n:
    a+=1
    if a == n:
        break
    if n%a == 0:
        c+= n//a - 1
    else:
        c+= n//a
print(c)
# Original solution
n = int(eval(input()))

res=0

for i in range(1,n):
    for j in range(1,n):
        if i*j < n:
            res+=1
        else:
            break

print(res)

# Optimized solution
from math import ceil
n = int(eval(input()))

res=0

for i in range(1,ceil(n/2)):
    for j in range(i+1,n):
        if i*j < n:
            res+=1
        else:
            break

if int(n**0.5) == n**0.5:
    print((res*2 + int(n**0.5) - 1))
else:
    print((res*2 + int(n**0.5)))
# Original solution
N = int(eval(input()))

count = 0
for i in range(1, N):
  for j in range(1, N):
    if i * j < N:
      count += 1
    else:
      break
print(count)

# Optimized solution
N = int(eval(input()))

count = 0

for i in range(1, N):
  count += int(N / i)
  if N % i == 0:
    count -= 1
print(count)
# Original solution
N = int(eval(input()))

table = [0] * (N+5)

for i in range(1, N+3):
    for j in range(i, N+2, i):
        table[j] += 1
ans = 0
for i in range(N):
    ans += table[i]

print(ans)

# Optimized solution
N = int(eval(input()))

ans = 0

for i in range(1, N):
    ans += (N-1) // i

print(ans)
# Original solution
N=int(eval(input()))
result=0
for A in range(1,N):
  for B in range(1,int(N/A)+1):
    if (N-A*B)>=1:
      result+=1
print(result)

# Optimized solution
N=int(eval(input()))
result=0
for A in range(1,N):
  result+=int((N-1)/A)
print(result)
# Original solution
l = int(eval(input()))
sum = 0
c = 0

for i in range(1,l):
  for ii in range(1,l):
    sum = i * ii
    if sum >= l:
      break
    else:
      c+=1

print(c)

# Optimized solution
l = int(eval(input()))
sum = 0
c = 0

for i in range(1,l):
  for ii in range(i,l):
    sum = i * ii
    if sum >= l:
      break
    else:
      if i != ii:
        c+=2
      else:
        c+=1

print(c)
# Original solution
N = int(eval(input()))
A = 1
B = 1
p = 0

while A < N:
  while A * B < N:
    p += 1
    B += 1
  A += 1
  B = 1

print(p)

# Optimized solution
N = int(eval(input()))
A = 1
B = 1
d = 0
e = 0

while A < N:
  while A * B < N:
    if A == B:
      e += 1
    else:
      d += 1
    B += 1
  A += 1
  B = A

print((d*2+e))
# Original solution
# -*- coding: utf-8 -*-
N = int(eval(input()))
count = 0
for A in range(1,N):
  for B in range(1,N):
    if A*B >= N:
      break
    else:
      count += 1
print(count)

# Optimized solution
# -*- coding: utf-8 -*-
N = int(eval(input()))
count = 0
for A in range(1,N):
  if N % A == 0:
    count += (N//A) - 1
  else:
    count += (N//A)
print(count)
# Original solution
n = int(eval(input()))
count = 0
for a in range(1,n):
    for b in range(1,int(n/a)+1):
        if n - a * b > 0:
            count += 1
print(count)



# Optimized solution
n = int(eval(input()))
count = 0
for a in range(1,n):
    count += (n-1)//a
print(count)
# Original solution
n = int(eval(input()))

ans = 0
for i in range(1, n):
    ans += n//i if n%i != 0 else n//i-1

print(ans)


# Optimized solution
n = int(eval(input()))

ans = 0
for i in range(1, n):
    ans += (n-1)//i

print(ans)
# Original solution
N=int(eval(input()))
a=1
b=1
count=0
while a<N:
  while a*b<N:
    count=count+1
    b=b+1
  else:
    b=1
    a=a+1
else:
  print(count)

# Optimized solution
N=int(eval(input()))
a=1
count=0
while a<N:
  count=count+(N-1)//a
  a=a+1
else:
  print(count)
# Original solution
z=int(eval(input()))
i=1
re=0
f=3
b=1
while z>i:
  b=1
  while True:
    x=i*b
    if z>x:
      re+=1
    else:
      break
    b+=1
  i+=1
print(re)

# Optimized solution
z=int(eval(input()))
i=1
re=0
b=1
d=1
while z>i:
  b=1
  while True:
    x=i*(i+b)
    if z>x:
      re+=2
    else:
      break
    b+=1
  i+=1
while True:
  if d*d<z:
    d+=1
    re+=1
  else:
    break
print(re)
# Original solution
N = int(eval(input()))

cnt = 0
for a in range(1, N):
    # print(f'{a=}, {N // a}')
    if N % a == 0:
        cnt += N // a - 1
    else:
        cnt += N // a

print(cnt)


# Optimized solution
N = int(eval(input()))

cnt = 0
for a in range(1, N):
    # print(f'{a=}, {N // a}')
    cnt += (N - 1) // a

print(cnt)
# Original solution
n=int(eval(input()))
ar=3
sv=[0]*(10**6+2)
for i in range(2,len(sv)):
	if not sv[i]:
		sv[i]=i
		for j in range(2*i,len(sv),i):
			sv[j]=i
def di(x):
  an=1
  if sv[x]==x:
    return 2
  while x>1:
    ct=0;cr=sv[x]
    while x%cr==0:
      ct+=1;x//=cr
    an*=(ct+1)
  return an
for i in range(4,n+1):
  ar=ar+di(i-1)
if n==2:
  ar=1
print(ar)


# Optimized solution
n=int(eval(input()))
ar=0
for i in range(1,n+1):
  ar+=(n-1)//i
print(ar)
# Original solution
n=int(eval(input()))
c=0
for i in range(1,n+1):
    j=1
    while j*i<n:
        c+=1
        j+=1
print(c)        

# Optimized solution
n=int(eval(input()))
c=0
for i in range(1,n):
    c+=(n-1)//i
print(c)
# Original solution
n = int(eval(input()))
ans = 0
for i in range(n):
  a = i + 1
  for j in range(n):
    b = j + 1
    c = n - a * b
    if c <= 0:
      break
    ans += 1
print(ans)

# Optimized solution
import math
n = int(eval(input()))
ans = 0
for i in range(n):
  a = i + 1
  b = 1
  c = n - a * b
  ans += math.ceil(c / a)
print(ans)
# Original solution
N = int(eval(input()))


def count_comb(a, b):
    if a == b:
        return 1
    else:
        return 2


count = 0
for A in range(1, N):
    for B in range(A, N):
        seki = A*B
        if seki > N-1:
            break
        count += count_comb(A, B)

print(count)


# Optimized solution
N = int(eval(input()))

count = 0
for A in range(1, N):
    max_a = int((N-1)/A)
    # AとBが同じものが1件あるので-1する
    count += max_a

print(count)
# Original solution
N = int(eval(input()))

ct = 0
for a in range(1, N):
    for b in range(1, N):
        if a*b >= N:
            break
        ct += 1
        
print(ct)

# Optimized solution
N = int(eval(input()))

ct = 0
for i in range(1, N):
    if i * i >= N:
        break
    x = int((N - 1)/i)
    ct += (x - i)*2 + 1
print(ct)
# Original solution
import sys
readline = sys.stdin.readline
sys.setrecursionlimit(10**8)
mod = 10**9+7
#mod = 998244353
INF = 10**18
eps = 10**-7

n=int(eval(input()))
cnt=0
for i in range(1,n+1):
  for j in range(1,n+1):
    if i*j<n:
      cnt+=1
    else:
      break


print(cnt)

# Optimized solution
import sys
readline = sys.stdin.readline
sys.setrecursionlimit(10**8)
mod = 10**9+7
#mod = 998244353
INF = 10**18
eps = 10**-7

n=int(eval(input()))
cnt=0
for i in range(1,n+1):
  for j in range(i+1,n+1):
    if i*j<n:
      cnt+=2
    else:
      break
      
for j in range(1,n+1):
  if j*j<n:
    cnt+=1

print(cnt)
# Original solution
def c_a_times_b_plus_c():
    N = int(eval(input()))
    ans = 0
    for a in range(1, N + 1):
        for b in range(N // a, 0, -1):
            if N - a * b >= 1:
                ans += 1
    return ans

print((c_a_times_b_plus_c()))


# Optimized solution
def c_a_times_b_plus_c():
    N = int(eval(input()))
    return sum((N - 1) // a for a in range(1, N))

print((c_a_times_b_plus_c()))
# Original solution
import math
t = 1
for tc in range(t):
    n = int(eval(input()))
    ans = 0
    i = 1
    while i < n:
        j = 1
        while i*j < n :
            c = n - i*j
            if c > 0:
                ans += 1
            j += 1
        i += 1
    print(ans)
        

    
    


# Optimized solution
import math
t = 1
for tc in range(t):
    n = int(eval(input()))
    ans = 0
    for i in range(1,n+1):
        j = 1
        ans += (n-1) // i
        # while i*j + 1 <= n:
        #     ans += 1
        #     j += 1
    print(ans)
# Original solution
n=int(eval(input()))
point=0

for a in range(1, n):
  b=1
  while a*b<n:
    b+=1
    point+=1

print(point)     


# Optimized solution
n = int(eval(input()))
ans = 0
for a in range(1, n):
  ans += (n - 1) // a
print(ans)
# Original solution
N = int(eval(input()))

ans = 0
for a in range(1, N+1):
    b = 1
    while a * b < N:
        ans += 1
        b += 1

print(ans)


# Optimized solution
N = int(eval(input()))

ans = 0
for a in range(1, N+1):
    x = N // a

    if N % a == 0:
        ans += x - 1
    else:
        ans += x

print(ans)
# Original solution
N=int(eval(input()))
ans=0

for i in range(1,10**6):
  for j in range(1,(10**6)//i+1):
    if N > i*j:
      ans += 1

print(ans)

# Optimized solution
N=int(eval(input()))
ans=0

for i in range(1,10**6):
  for j in range(i,10**6//i+1):
    if N > i*j:
      if i==j:
        ans += 1
      else:
        ans += 2

print(ans)
# Original solution
n = int(eval(input()))

ans = 0
for a in range(1, n):
    for b in range(1, n):
        c = n - a * b
        if c <= 0:
            break
        ans += 1

print(ans)

# Optimized solution
def func(x):
    ans = 0
    for a in range(1, n):
        for b in range(1, n):
            c = n - a * b
            if c <= 0:
                break
            ans += 1
    return ans

n = int(eval(input()))
print((func(n)))
# Original solution

n = int(eval(input()))

ans = 0
count = 0

a, b, c = 1, 1, 1

while a <= n:

    # print("A : {0}".format(a))

    while a * b < n:

        # print("B : {0}".format(b))

        ans += 1

        # if c >= n - (a * b) :
        #     ans += 1

        # while a * b + c <= n:

        #     # print("C : {0}".format(c))

        #     count += 1

        #     if a * b + c == n :
        #         ans += 1

        #     c += 1

        b += 1
        c = 1

    a += 1
    b, c = 1, 1

# print("計算実行回数 : {0}".format(count))
print(ans)

# Optimized solution

n = int(eval(input()))

ans = 0
count = 0

a, b, c = 1, 1, 1

while a <= n:

    # print("A : {0}".format(a))
    # print("追加パターン : {0}".format( (n // a) ))

    if a == 1 :
        ans =  ans + ( (n // a) - 1)
    else :

        if n // a == 1 :
            ans = ans + 1
        else :

            if n % a == 0 :
                ans = ans + ( (n // a) - 1)
            else :
                ans = ans + ( (n // a) )

            



    # if n % a == 0 :
    #     ans = ans + ( (n / a) - 1 )
    # else :
    #     ans = ans + ( (n // a) - 1 )

    # ans = ans + (n / a) - 1

    # print("A : {0}".format(a))

    # while a * b < n:

    #     print("B : {0}".format(b))

    #     ans += 1

    #     b += 1
    #     c = 1

    a += 1
    b, c = 1, 1

# print("計算実行回数 : {0}".format(count))
print((ans - 1))
# Original solution

n = int(eval(input()))

ans = 0
count = 0

a, b, c = 1, 1, 1

while a <= n:

    # print("A : {0}".format(a))
    # print("追加パターン : {0}".format( (n // a) ))

    if a == 1 :
        ans =  ans + ( (n // a) - 1)
    else :

        if n // a == 1 :
            ans = ans + 1
        else :

            if n % a == 0 :
                ans = ans + ( (n // a) - 1)
            else :
                ans = ans + ( (n // a) )

            



    # if n % a == 0 :
    #     ans = ans + ( (n / a) - 1 )
    # else :
    #     ans = ans + ( (n // a) - 1 )

    # ans = ans + (n / a) - 1

    # print("A : {0}".format(a))

    # while a * b < n:

    #     print("B : {0}".format(b))

    #     ans += 1

    #     b += 1
    #     c = 1

    a += 1
    b, c = 1, 1

# print("計算実行回数 : {0}".format(count))
print((ans - 1))

# Optimized solution

n = int(eval(input()))

ans = 0

a = 1

while a <= n:
 
    if a == 1 :
        ans =  ans + (n - 1)
    else :
        if n % a == 0 :
            ans = ans + ( (n // a) - 1)
        else :
            ans = ans + ( (n // a) )

    a += 1

print(ans)
# Original solution
N = int(eval(input()))
result = 0
for i in range(1, N + 1):
    s = int(N / i) + 1
    for j in range(1, s + 1):
        if N - i * j > 0:
            result = result + 1
        else:
            break
print(result)


# Optimized solution
N = int(eval(input()))
result = 0
for i in range(1, N + 1):
    s = int(N / i) + 1
    for j in range(s + 1, 0, -1):
        if N - i * j > 0:
            result = result + j
            break
print(result)
# Original solution
n = int(eval(input()))

ans = 0

for i in range(1, n):
    for j in range(1, n):
        if i*j >= n:
            break
        ans += 1

print(ans)

# Optimized solution
n = int(eval(input()))

ans = 0

for i in range(1, n):
    for j in range(i, n):
        if i*j >= n:
            break
        if i == j:
            ans += 1
        else:
            ans += 2

print(ans)
# Original solution
n=int(eval(input()))

cnt=0
for i in range(1,n+1):
  for j in range(1,n+1):
    if i*j>=n:
      break
    else:
      cnt+=1
      
print(cnt)

# Optimized solution
n = int(eval(input()))
ans = 0
for a in range(1, n):
  ans += (n - 1) // a
print(ans)
# Original solution
def f(x):
    return pow(x, 2)

while True:
    try:
        d = int(eval(input()))
    except:
        break
    print((sum(f(x) * d for x in range(d, 600, d))))

# Optimized solution
while True:
    try:
        d = int(eval(input()))
    except:
        break
    print((sum(d * x**2 for x in range(d, 600, d))))
# Original solution
import sys
input = sys.stdin.readline

def main():
    n = int(eval(input()))
    ans = 0
    cnt = [[0]*45 for _ in range(45)]
    for _ in range(n):
        a = list(map(str, input().rstrip().split(".")))
        x = 0
        if len(a) == 1:
            x = int(a[0]) * 10**9
        else:
            x = int(a[0]) * 10**9 + int(a[1]) * pow(10, 9-len(a[1]))
        cnt_2, cnt_5 = 0, 0
        while x % 2 == 0:
            cnt_2 += 1
            x //= 2
        while x % 5 == 0:
            cnt_5 += 1
            x //= 5
        for i in range(45):
            for j in range(45):
                if cnt_2 + i >= 18 and cnt_5 + j >= 18:
                    ans += cnt[i][j]
        cnt[cnt_2][cnt_5] += 1
    print(ans)

if __name__ == "__main__":
    main()

# Optimized solution
import sys
input = sys.stdin.readline

def main():
    n = int(eval(input()))
    ans = 0
    cnt = [[0]*20 for _ in range(45)]
    for _ in range(n):
        a = list(map(str, input().rstrip().split(".")))
        x = 0
        if len(a) == 1:
            x = int(a[0]) * 10**9
        else:
            x = int(a[0]) * 10**9 + int(a[1]) * pow(10, 9-len(a[1]))
        cnt_2, cnt_5 = 0, 0
        while x % 2 == 0:
            cnt_2 += 1
            x //= 2
        while x % 5 == 0:
            cnt_5 += 1
            x //= 5
        for i in range(45):
            for j in range(20):
                if cnt_2 + i >= 18 and cnt_5 + j >= 18:
                    ans += cnt[i][j]
        cnt[cnt_2][cnt_5] += 1
    print(ans)

if __name__ == "__main__":
    main()
# Original solution
# problem a
# score 300
from collections import defaultdict
N = int(eval(input()))
A = []
from decimal import Decimal
for i in range(N):
    x = float(eval(input()))
    x = Decimal(x*(10**9))
    A.append(x)
remove = 0
for i in range(N):
    if (A[i]**2) % (10**18) == 0:
        remove += 1
D = defaultdict(int)
data = []
for x in A:
    order2 = 0
    order5 = 0
    K = x
    while K % 2 == 0:
        order2 += 1
        K = K//2
    while K % 5 == 0:
        order5 += 1
        K = K//5
    data.append((order2, order5))
    for i in range(order2+1):
        for j in range(order5+1):
            D[2**i*5**j] += 1
ans = 0
for ord2, ord5 in data:
    new_ord2 = max(0, 18-ord2)
    new_ord5 = max(0, 18-ord5)
    ans += D[(2**new_ord2)*(5**new_ord5)]
ans-=remove
ans = ans//2
print(ans)

# Optimized solution
# problem a
# score 300
from collections import defaultdict
N = int(eval(input()))
A = []
for i in range(N):
    x = float(eval(input()))
    x = "{:.9f}".format(x)
    x=int(x[:-10]+x[-9:])
    A.append(x)
remove = 0
for i in range(N):
    if (A[i]**2) % (10**18) == 0:
        remove += 1
D = defaultdict(int)
data = []
for x in A:
    order2 = 0
    order5 = 0
    K = x
    while K % 2 == 0:
        order2 += 1
        K = K//2
    while K % 5 == 0:
        order5 += 1
        K = K//5
    data.append((order2, order5))
    for i in range(order2+1):
        for j in range(order5+1):
            D[2**i*5**j] += 1
ans = 0
for ord2, ord5 in data:
    new_ord2 = max(0, 18-ord2)
    new_ord5 = max(0, 18-ord5)
    ans += D[(2**new_ord2)*(5**new_ord5)]
ans-=remove
ans = ans//2
print(ans)