import itertools def erat2( ): D = { } yield 2 for q in itertools.islice(itertools.count(3), 0, None, 2): p = D.pop(q, None) if p is None: D[q*q] = q yield q else: x = p + q while x in D or not (x&1): x += p D[x] = p def get_primes_erat(n): return list(itertools.takewhile(lambda p: p 1: factors.append(rem) return sorted(factors, reverse = True) def cuts(factors): if len(factors) == 0: return 0 if len(factors) == 1: return factors[0] return factors[0]*(1+cuts(factors[1:])) def longestSequence(a): val = 0 primes = get_primes_erat(int(max(a)**0.5)+2) for u in a: val += cuts(factors(u, primes))+1 return val n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)