from math import sqrt, floor from functools import lru_cache max_prime = 1000005 primes = [2, 3] for i in range(5, max_prime, 2): m = floor(sqrt(i)) + 2 for prime in primes: if prime >= m: primes.append(i) break if i % prime == 0: break else: primes.append(i) def prime_factors(n): factors = [] freq = [] i = 0 while n > 1: if i >= len(primes): factors.append(n) freq.append(1) break p = primes[i] reps = 0 while n % p == 0: reps += 1 n //= p if reps > 0: factors.append(p) freq.append(reps) elif p*p > n: factors.append(n) freq.append(1) break i += 1 return factors, freq def divisors(factors, freq, limit): f = len(freq) use = [0] * f while True: using = -1 for i in range(f): use[i] += 1 if use[i] > freq[i]: use[i] = 0 else: using = i break else: return divisor = 1 for i in range(f): divisor *= factors[i]**use[i] if divisor > limit and using >= 0: use[using] = freq[using] else: yield divisor @lru_cache(maxsize=None) def moves(n): if n < 2: return 1 ans = n+1 for d1 in divisors(*prime_factors(n), floor(sqrt(n))): d2 = n // d1 ans = max(ans, 1 + moves(d1) * d2, 1 + moves(d2) * d1) return ans n = int(input()) a = [int(x) for x in input().strip().split()] print(sum(moves(ai) for ai in a))