#!/bin/python import sys import math def primeFactors(n): factors = [] # Print the number of two's that divide n ct = 0 while n % 2 == 0: ct += 1 n = n / 2 if ct > 0: factors.append([2, ct]) # n must be odd at this point # so a skip of 2 ( i = i + 2) can be used for i in xrange(3, int(math.sqrt(n)) + 1, 2): # while i divides n , print i ad divide n ct=0 while n % i == 0: #print i, ct += 1 n = n / i if ct > 0: factors.append([i, ct]) # Condition if n is a prime # number greater than 2 if n > 2: factors.append([n, 1]) #print n return factors def prime_factors(n): factors = [] d = 2 while n > 1: ct = 0 while n % d == 0: #factors.append(d) ct += 1 n /= d if ct > 0: factors.append([d, ct]) d = d + 1 if d*d > n: if n > 1: factors.append([n, 1]) break return factors def moves(m): moves = 1 prod = 1 prod2 = 1 lenM = len(m) # print m for i in xrange(lenM): factor = m[lenM - i - 1] factor2 = (factor[0] * (1 - pow(factor[0], factor[1]))) / (1 - factor[0]) subset_t = prod2 * factor2 # * (factor[0] * (1 - pow(factor[0], factor[1])))/(1-factor[0]) prod2 *= pow(factor[0], factor[1]) # subset_m = 0 # for j in xrange(factor[1]): # prod *= factor[0] # #print factor, prod # subset_m += prod # print subset_m, subset_t, pow(factor[0], factor[1]) moves += subset_t return moves def longestSequence(a): m = 0 d = {} for i in a: ik = str(i) if ik not in d: d[ik] = 0 d[ik] += 1 #print d for i, j in d.iteritems(): #print i, j m += j * moves(primeFactors(int(i))) return m if __name__ == "__main__": n = int(raw_input().strip()) a = map(long, raw_input().strip().split(' ')) result = longestSequence(a) print result